| | Copyright |
| | IBM Press |
| | | On Demand Computing Books |
| | | WebSphere Books |
| | | More Books from IBM Press |
| | | DB2® Books |
| | Preface |
| | Acknowledgments |
| | About the Editors |
| | About the Contributors |
| | Part I. Linux Overview |
| | | Chapter ONE. Linux Installation Issues |
| | | Introduction |
| | | Preinstallation Planning |
| | | Configurable 2.6 Kernel Features |
| | | Linux Logging Facility |
| | | System Initialization: BSD Versus System V Initialization |
| | | Summary |
| | | References |
| | | Chapter TWO. Kernel Overview |
| | | Introduction |
| | | The Evolution of Linux |
| | | Linux Kernel Architecture |
| | | Process Management |
| | | Interprocess Communications |
| | | The Linux Symmetrical Multiprocessing (SMP) Model |
| | | File Systems |
| | | New Features in Linux 2.6 |
| | | Summary |
| | | References |
| | | Chapter THREE. Overview of Server Architectures |
| | | Introduction |
| | | Linux Servers |
| | | Processors and Multiprocessing |
| | | Memory |
| | | I/O |
| | | Linux Enterprise Servers |
| | | Linux Clusters |
| | | Examples of Server Systems |
| | | Summary |
| | Part II. Performance Analysis Tools |
| | | Chapter FOUR. System Performance Monitoring |
| | | Introduction |
| | | Background on Linux and Performance Analysis |
| | | CPU Utilization |
| | | Memory Utilization |
| | | I/O Utilization |
| | | Network Utilization |
| | | Summary |
| | | References |
| | | Chapter FIVE. System Trace Tools |
| | | Introduction |
| | | Requirements for System Tracing |
| | | The top Utility |
| | | strace |
| | | OProfile |
| | | Performance Inspector |
| | | Summary |
| | | References |
| | | Chapter SIX. Benchmarks as an Aid to Understanding Workload Performance |
| | | Introduction |
| | | Benchmarking to Improve Your Workload |
| | | What Types of Benchmarks Are There? |
| | | Microbenchmarks |
| | | Web Server Benchmarks |
| | | Summary |
| | Part III. System Tuning |
| | | Chapter SEVEN. System Performance Principles and Strategy: A Benchmarking Methodology Case Study |
| | | Introduction |
| | | Performance Evaluation Methodologies |
| | | Benchmarking Methodology Case Study |
| | | Analysis Methodology |
| | | Benchmarks |
| | | Summary |
| | | Acknowledgments |
| | | References |
| | | Chapter EIGHT. Scheduler Tuning |
| | | Introduction |
| | | Single-Processor Systems |
| | | Symmetric Multiprocessing (SMP) |
| | | Non-Uniform Memory Access (NUMA) |
| | | Symmetric Multithreading (SMT) |
| | | The 2.6 Linux Scheduler |
| | | Load Balancing |
| | | Tunable Parts of the Scheduler |
| | | Summary |
| | | References |
| | | Chapter NINE. The Linux Virtual MemoryPerformance Implications |
| | | Introduction |
| | | Memory and Address Space |
| | | High-Memory Support |
| | | Paging and Swapping |
| | | The Linux Page Tables |
| | | New Features in Linux 2.6 |
| | | Summary |
| | | References |
| | | Chapter TEN. I/O SubsystemsPerformance Implications |
| | | Introduction |
| | | I/O Scheduling and the Block I/O (BIO) Layer |
| | | Read and Write Request Batches |
| | | Read Anticipation Heuristic |
| | | I/O Components That Affect Performance |
| | | Addressing an I/O Device |
| | | Summary |
| | | References |
| | | Chapter ELEVEN. File System Tuning |
| | | Introduction |
| | | File System Fundamentals |
| | | Journaled File Systems |
| | | Disks Factor into File System Performance |
| | | Fragmenting a File System |
| | | File Synchronization |
| | | bdflush Parameters |
| | | Asynchronous Input and Output |
| | | Raw Disk I/O |
| | | Ext2 and Ext3 |
| | | ReiserFS |
| | | Journaled File System (JFS) |
| | | Next-Generation File System (XFS) |
| | | Summary |
| | | References |
| | | Chapter TWELVE. Network Tuning |
| | | Introduction |
| | | The Network Protocol Stack |
| | | Kernel Parameter Tuning Mechanisms |
| | | Kernel Auto Tuning |
| | | Core Kernel Parameter Descriptions |
| | | TCP/IPv4 Protocol Kernel Parameters |
| | | Summary |
| | | References |
| | | Chapter THIRTEEN. Interprocess Communication |
| | | Introduction |
| | | What Is Interprocess Communication? |
| | | Linux SysV IPC Resources and the ipcs Command |
| | | Semaphore Parameters |
| | | Message Queue Parameters |
| | | Shared Memory Segment Parameters |
| | | Dynamically Modifying the Configurable IPC Parameters |
| | | Configuring IPC Parameters Statically |
| | | Pipes |
| | | Summary |
| | | Chapter FOURTEEN. Code Tuning |
| | | Introduction |
| | | General Principles |
| | | Profiling to Understand the Application |
| | | Compiler Options as Tuning Tools |
| | | Code Tuning |
| | | Algorithm: Achieving Performance Through Design Choices |
| | | Summary |
| | Part IV. Performance Characterization of Linux Server Applications |
| | | Chapter FIFTEEN. Web Servers |
| | | Introduction |
| | | HTTP Requests and Responses |
| | | Network Behavior of a Web Server |
| | | Anatomy of a Web Server Transaction |
| | | Different Models of Web Servers |
| | | Tuning Web Servers |
| | | Summary |
| | | References |
| | | Chapter SIXTEEN. File and Print Servers |
| | | Introduction |
| | | Types of Dedicated Network Storage Servers |
| | | Optimizing the Performance of Network Storage |
| | | References |
| | | Chapter SEVENTEEN. Database Servers |
| | | Introduction |
| | | Overview of Database Architectures |
| | | Database Tuning Areas to Consider |
| | | Process Management |
| | | Memory Management |
| | | I/O Management |
| | | Summary |
| | | Chapter EIGHTEEN. Application Servers |
| | | Introduction |
| | | The Application Server Defined |
| | | Java, J2EE, and Application Servers |
| | | Performance Characterization of Application Servers |
| | | Improving Performance and High Availability |
| | | Summary |
| | | References |
| | Part V. Tuning Case Studies |
| | | Chapter NINETEEN. Case Study: Tuning the I/O Schedulers in Linux 2.6 |
| | | Introduction |
| | | Benchmark Environment and Workload Profiles |
| | | I/O Schedulers and Performance |
| | | Single-CPU Single-Disk Setup |
| | | 8-Way RAID-5 Setup |
| | | 16-Way RAID-0 Setup |
| | | AS Sequential Read Performance |
| | | AS Versus Deadline Performance |
| | | CFQ Performance |
| | | Summary |
| | | References |
| | | Chapter TWENTY. Case Study: File System Tuning |
| | | Introduction |
| | | Analyzing File Layout |
| | | Tuning File Systems |
| | | Measuring I/O |
| | | Summary |
| | | References |
| | | Chapter TWENTY-ONE. Case Study: Network Performance on Linux |
| | | Introduction |
| | | Benchmarks Used in This Case Study |
| | | Enhancements in the Linux 2.4 and 2.6 Kernels |
| | | Case Study |
| | | Summary |
| | | References |
| | | Chapter TWENTY-TWO. Case Study: Commercial Workload Tuning |
| | | Introduction |
| | | Overview of Commercial Workload Tuning |
| | | Standard Commercial Workload Model for J2EE |
| | | Our Commercial Workload Model: Stock Trading |
| | | The Performance Analysis Exercise |
| | | Summary |
| | | References |
| | | Appendix A. Tuning Kernel Parameters |
| | | Introduction |
| | | The sysctl Interface |
| | | The procfs Interface |
| | | sysfs (Linux Kernel 2.6 Only) |
| | | General Kernel Parameters |
| | | Virtual Memory |
| | | File System |
| | | Network |
| | Index |