System Performance Tuning answers one of the most fundamental questions you can ask about your computer: How can I get it to do more work without buying more hardware? In the current economic downturn, performance tuning takes on a new importance. It allows system administrators to make the best use of existing systems and minimize the purchase of new equipment. Well-tuned systems save money and time that would otherwise be wasted dealing with slowdowns and errors. Performance tuning always involves compromises; unless system administrators know what the compromises are, they can't make intelligent decisions. Tuning is an essential skill for system administrators who face the problem of adapting the speed of a computer system to the speed requirements imposed by the real world. It requires a detailed understanding of the inner workings of the computer and its architecture. System Performance Tuning covers two distinct areas: performance tuning, or the art of increasing performance for a specific application, and capacity planning, or deciding what hardware best fulfills a given role. Underpinning both subjects is the science of computer architecture.
This book focuses on the operating system, the underlying hardware, and their interactions. Topics covered include: *Real and perceived performance problems, introducing capacity planning and performance monitoring (highlighting their strengths and weaknesses). *An integrated description of all the major tools at a system administrator's disposal for tracking down system performance problems. *Background on modern memory handling techniques, including the memory-caching filesystem implementations in Solaris and AIX. Updated sections on memory conservation and computing memory requirements. *In depth discussion of disk interfaces, bandwidth capacity considerations, and RAID systems. *Comprehensive discussion of NFS and greatly expanded discussion of networking. *Workload management and code tuning. *Special topics such as tuning Web servers for various types of content delivery and developments in cross-machine parallel computing For system administrators who want a hands-on introduction to system performance, this is the book to recommend.
Mike Loukides is an editor for O'Reilly & Associates. He is the author of System Performance Tuning and UNIX for FORTRAN Programmers. Mike's interests are system administration, networking, programming languages, and computer architecture. His academic background includes degrees in electrical engineering (B.S.) and English literature (Ph.D.). Gian-Paolo Musumeci is a research engineer in the Performance and Availability Engineering group at Sun Microsystems, where he focuses on network performance. Ever since his first Unix exposure, courtesy of a SGI Personal Iris Model 4D/25, he has studied and evangelized system performance tuning. Gian-Paolo earned a B.S. in chemistry from the University of Illinois at Urbana-Champaign.
Preface 1. An Introduction to Performance Tuning An Introduction to Computer Architecture Principles of Performance Tuning Static Performance Tuning Concluding Thoughts 2. Workflow Management Workflow Characterization Workload Control Benchmarking Concluding Thoughts 3. Processors Microprocessor Architecture Caching Process Scheduling Multiprocessing Peripheral Interconnects Processor Performance Tools Concluding Thoughts 4. Memory Implementations of Physical Memory Virtual Memory Architecture Paging and Swapping Consumers of Memory Tools for Memory Performance Analysis Concluding Thoughts 5. Disks Disk Architecture Interfaces Common Performance Problems Filesystems Tools for Analysis Concluding Thoughts 6. Disk Arrays Terminology RAID Levels Software Versus Hardware A Summary of Disk Array Design Software RAID Implementations RAID Recipes Concluding Thoughts 7. Networks Network Principles Physical Media Network Interfaces Network Protocols NFS CIFS via Unix Concluding Thoughts 8. Code Tuning The Two Critical Approaches Techniques for Code Analysis Optimization Patterns Interacting with Compilers Concluding Thoughts 9. Instant Tuning Top Five Tuning Tips Instant Tuning Recipes