Performance Tuning for Linux Servers(Hardcover)

Sandra K. Johnson, Gerrit Huizenga, Badari Pulavarty

  • 出版商: Prentice Hall
  • 出版日期: 2005-06-06
  • 售價: $2,130
  • 貴賓價: 9.5$2,024
  • 語言: 英文
  • 頁數: 576
  • 裝訂: Hardcover
  • ISBN: 013144753X
  • ISBN-13: 9780131447530
  • 相關分類: Linux
  • 已絕版

買這商品的人也買了...

商品描述

Table of Contents:

Preface.

Acknowledgments.

About the Editors.

About the Contributors.

I. LINUX OVERVIEW.

1. Linux Installation Issues.

    Introduction  

    Preinstallation Planning  

    Configurable 2.6 Kernel Features  

    Linux Logging Facility  

    System Initialization: BSD Versus System V Initialization  

    Summary  

    References  

2. 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  

3. Overview of Server Architectures.

    Introduction  

    Linux Servers  

    Processors and Multiprocessing  

    Memory  

    I/O  

    Linux Enterprise Servers  

    Linux Clusters  

    Examples of Server Systems  

    Summary  

II. PERFORMANCE ANALYSIS TOOLS.

4. System Performance Monitoring.

    Introduction  

    Background on Linux and Performance Analysis  

    CPU Utilization  

    Memory Utilization  

    I/O Utilization  

    Network Utilization  

    Summary  

    References  

5. System Trace Tools.

    Introduction  

    Requirements for System Tracing  

    The top Utility  

    strace  

    OProfile  

    Performance Inspector  

    Summary  

    References  

6. 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  

III. SYSTEM TUNING.

7. System Performance Principles and Strategy: A Benchmarking Methodology Case Study.

    Introduction  

    Performance Evaluation Methodologies  

    Benchmarking Methodology Case Study  

    Analysis Methodology  

    Benchmarks  

    Summary  

    Acknowledgments  

    References  

8. 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  

9. The Linux Virtual Memory Performance Implications.

    Introduction  

    Memory and Address Space  

    High-Memory Support  

    Paging and Swapping  

    The Linux Page Tables  

    New Features in Linux 2.6  

    Summary  

    References  

10. I/O Subsystems Performance 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  

11. 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  

12. 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  

13. 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  

14. Code Tuning.

    Introduction 

    General Principles 

    Profiling to Understand the Application 

    Compiler Options as Tuning Tools 

    Code Tuning 

    Algorithm: Achieving Performance Through Design Choices 

    File I/O 

    Summary  

IV. PERFORMANCE CHARACTERIZATION OF LINUX SERVER APPLICATIONS.

15. 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  

16. File and Print Servers.

    Introduction 

    Types of Dedicated Network Storage Servers  

    Optimizing the Performance of Network Storage  

    References  

17. Database Servers.

    Introduction  

    Overview of Database Architectures  

    Database Tuning Areas to Consider  

    Process Management  

    Memory Management  

    I/O Management  

    Summary  

18. Application Servers.

    Introduction  

    The Application Server Defined  

    Java, J2EE, and Application Servers  

    Performance Characterization of Application Servers   

    Improving Performance and High Availability   

    Summary  

    References  

V. TUNING CASE STUDIES.

19. 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  

20. Case Study: File System Tuning.

    Introduction  

    Analyzing File Layout  

    Tuning File Systems  

    Measuring I/O  

    Summary  

    References  

21. Case Study: Network Performance on Linux.

    Introduction  

    Benchmarks Used in the Case Study  

    Enhancements in the Linux 2.4 and 2.6 Kernels  

    Case Study  

    Summary  

    References  

22. 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.