Performance Tuning for Linux Servers - Sandra K. Johnson, Gerrit Huizenga, Badari Pulavarty

Performance Tuning for Linux Servers

Buch | Softcover
576 Seiten
2005
IBM Press (Verlag)
978-0-13-144753-0 (ISBN)
53,35 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
A guide to maximizing Linux system and application performance. This book shows how to maximize the end-to-end performance of real-world applications and databases running on Linux. It presents examples based on popular enterprise Linux platforms, Intel-based Red Hat Enterprise Linux, and Novell SUSE Linux Enterprise Server.
Linux Server Performance Tuning provides the knowledge and skills needed to understand and improve the performance of Linux servers. It describes the collective practical experience of IBM Linux Technology Center experts in Linux performance monitoring, evaluation and measurement, analysis, and tuning of Linux servers. It discusses methodologies for improving and maximizing the performance of business server applications running on an Intel-based hardware platform and the Linux operating system. Readers will obtains valuable insight into the tuning techniques needed to improve the performance of their software running on Linux. This includes an overview of the Linux kernel (including installation), a synopsis of the various Linux performance tools that can be used to isolate performance issues, and how to use them, and tuning principles, strategies and techniques for various Linux components such as the scheduler, memory and I/O subsystems. In addition, case studies for tuning these subsystems are also included, as well as the performance characterization of several Linux server applications, including web servers, database servers, application servers, and print and file servers.

Sandra K. Johnson, Ph.D., is a Senior Technical Staff Member and the Chief Technology Officer of Global Small and Medium Business, IBM Systems and Technology Group. She was formerly the Linux Performance Architect with the IBM Linux Technology Center in Austin, Texas. She has more than sixteen years of experience in designing and evaluating the performance of operating systems and applications. Johnson is a member of the IBM Academy of Technology. Gerrit Huizenga is a software engineer and architect for Linux Base Technologies in the IBM Linux Technology Center in Beaverton, Oregon. Gerrit has been architecting, designing, and implementing operating system capabilities with a focus on performance, scalability, standards, and security for twenty years. Prior to his work at the IBM Linux Technology Center, Gerrit was the Chief Technologist for Operating Systems at Sequent Computer Systems, Inc. Badari Pulavarty is a senior engineer at the IBM Linux Technology Center in Beaverton, Oregon. He has fifteen years of experience developing UNIX operating systems. © Copyright Pearson Education. All rights reserved.

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.

Erscheint lt. Verlag 9.6.2005
Verlagsort Armonk
Sprache englisch
Maße 182 x 232 mm
Gewicht 937 g
Themenwelt Informatik Betriebssysteme / Server Unix / Linux
ISBN-10 0-13-144753-X / 013144753X
ISBN-13 978-0-13-144753-0 / 9780131447530
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Die wichtigen Befehle

von Daniel J. Barrett

Buch | Softcover (2024)
O'Reilly (Verlag)
16,90
das umfassende Handbuch

von Dirk Deimeke; Daniel van Soest; Stefan Kania

Buch | Hardcover (2023)
Rheinwerk (Verlag)
69,90
das umfassende Handbuch

von Michael Kofler

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90