Sitemap
Table of Contents 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 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 Parameter Tuning Mechanisms Kernel Auto Tuning Core Kernel Parameter Descriptions Core Kernel Parameter Descriptions TCP/IPv4 Protocol Kernel Parameters 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 Semaphore Parameters Message Queue Parameters Message Queue Parameters Shared Memory Segment Parameters Shared Memory Segment Parameters Dynamically Modifying the Configurable IPC Parameters Dynamically Modifying the Configurable IPC Parameters Configuring IPC Parameters Statically 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 Appendix A. Tuning Kernel Parameters Introduction The sysctl Interface The procfs Interface sysfs (Linux Kernel 2.6 Only) General Kernel Parameters General Kernel Parameters Virtual Memory File System Network
|