Book Review - Performance Tuning For Linux Servers
If you're responsible for Linux servers and you need to keep things running at peak efficiency, you *need* to get this book... Performance Tuning For Linux Servers, edited by Sandra K. Johnson, Ph. D., Gerrit Huizenga, and Badari Pulavarty. It's an excellent blend of theory and practicality.
Part 1 - Linux Overview: Linux Installation Issues; Kernel Overview; Overview Of Server Architectures
Part 2 - Performance Analysis Tools: System Performance Monitoring; System Trace Tools; Benchmarks As An Aid To Understanding Workload Performance
Part 3 - System Tuning: System Performance Principles And Strategy - A Benchmarking Methodology Case Study; Scheduler Tuning; The Linux Virtual Memory-Performance Implications; I/O Subsystems-Performance Implications; File System Tuning; Network Tuning; Interprocess Communications; Code Tuning
Part 4 - Performance Characterization Of Linux Server Applications: Web Servers; File And Print Servers; Database Servers; Application Servers
Part 5 - Tuning Case Studies: Case Study - Tuning The I/O Schedulers In Linux 2.6; Case Study - File System Tuning; Case Study - Network Performance On Linux; Case Study - Commercial Workload Tuning; Tuning Kernel Parameters; Index
This is one of those rare books that ranks high on many criteria... It's got a lot of theory, the "why" of different features as they relate to performance. It's also packed full of practical material. They tell you how to measure key components in the system and what parameters you can change to affect those areas. When you get done, you've covered every conceivable area that exists in the Linux environment. I particularly liked the blending of measuring/monitoring along with the instructions on how to change performance. The chapter on system performance monitoring tools can be used immediately to see how your system runs. Once you become comfortable using those tools, you can use them to run before and after comparisons of tuning efforts. There's no guesswork involved. Measure, tweak, and remeasure. Repeat as necessary. Same with the benchmarking tools. They will allow you to know without a doubt whether the changes you made work or not.
I'm also impressed with the readability of the book on a couple of different fronts. For one, books like this can be dry as dirt, especially in the areas dealing with theory and architecture. But surprisingly, it really wasn't hard to follow, nor was I getting bored. The other reason the readability is surprising is that the chapters are done by 21 different contributors. When you get different chapters being done by different techies (with varying levels of communication skills), you normally get a very uneven book. Not so here... The editors should be commended for taking material that I'm sure was all over the board and weaving it into a cohesive and coherent volume.
Bottom line... If you run a Linux system and you are responsible for making sure it performs, this is the book you need to have.