I. INTRODUCTION AND OVERVIEW.
1. Overview of Performance Tuning.
What Is Performance Tuning? Why Consider Tuning? What Can I Tune? Defining Performance-Tuning Objectives. Identifying Critical Resources. Minimizing Critical Resource Requirements. Reflecting Priorities in Resource Allocations. Methodology. Roles of the Performance Analyst. The Relationship Between Users and Performance. Summary.
2. Aspects of Performance Tuning.
Operating System Structure. Kernel Architecture. Virtual Memory Overview. Filesystem Caching. I/O Overview. NFS Performance. Methodology. Measurements. Interpretation and Analysis. Tuning or Upgrade?. Risk Evaluation and Tuning. Conclusion.
II. PERFORMANCE TUNING TOOLS.
3. Popular Unix Performance-Monitoring Tools for Linux.
The Scope of These Tools and the Chapter Interpreting Results and Other Notes. All-Purpose Tools. Benchmarking Your Disks with Bonnie. Other Tools. Some Network-Monitoring Tools. ntop. Summary.
4. Linux-Specific Tools.
The sysstat for Linux Distribution. ktop and gtop. Using the /proc Filesystem to Monitor System Activities. Other Free Utilities. Summary.
III. PERFORMANCE MONITORING TECHNIQUES.
5. Apparent and Nonapparent Bottlenecks.
There Is Always a Bottleneck. User Expectations. Performance Agreements. Tuning CPU Bottlenecks. Specific Clustering Solutions. Tuning CPU-Related Parameters in the Kernel. Tuning CPU-Related Parameters in Software. Memory Bottlenecks. Conclusion.
6. X Window Performance.
Analyzing the X Server's Performance. Measuring the Results. Tuning the X Server for Local Use. Tuning X Desktop Performance. Summary.
7. Network Performance.
Overview of Network-Performance Issues. Hardware Methods. Application Network Tuning. The Value of Knowing Your Domain. Tuning Samba. Tuning NFS. Tuning NIS. Making Kernel Changes to Improve Performance. Bonding. Enforced Bandwidth Limitations. New and Interesting Capabilities. High Availability/Load Balancing. Tools. Conclusion.
IV. TUNING AND PERFORMANCE MECHANICS.
8. Job Control.
Background Mode. The at Facilities. Using cron. nice and renice. Summary.
9. The Linux Kernel.
Why Alter the Kernel? Data-Presentation Areas. Network Manipulation. Virtual Memory. Recompiling the Kernel. Summary.
10. Disk Configurations for Performance.
Managing Disk Space. Disk I/O Utilization. Swap Strategies. Using RAID. Software RAID. Alternative Solutions. Summary.
11. Linux and Memory Management.
Determining Physical RAM Requirements. Swap Space. Swap Partitions Versus Swap Files. Advanced Topics. Summary.
12. Linux System Services.
A “Typical” inetd.conf File. The Internet Server inetd. TCP Wrappers. The rc.d Scripts. Summary.
V. CAPACITY PLANNING.
13. Thinking About Capacity Planning.
What Is Capacity Planning? Classic System Requirements. Application-Specific Requirements. Structured Approaches. Thinking Outside the Box. The Interrelationship of Performance Tuning and _Capacity Planning. Planning May Preempt the Need for Tuning. Predictive Analysis Versus Actual Results. How to Evaluate Your Need for Capacity Planning. Summary.
14. Methods for Capacity Planning.
A Blueprint for Capacity Planning. General Principles. Software and Hardware Requirements. How to Develop a Structure. Ensuring Flexibility in the Future. Example. Summary.
VI. CASE STUDIES.
15. Case Studies: Web Server Performance.
Web Server Performance. A Classic Memory Problem. Increasing Network Latency. Another Memory Problem. Linux Virtual Server (LVS) Walkthrough. Summary.
16. Where to Go From Here.
World Wide Web Resources. Magazines, Journals, and Newsletters. Newsgroups and Mailing Lists. Summary.