Home > Store > Open Source

larger cover

Add To My Wish List

Register your product to gain access to bonus material or receive a coupon.

Performance Tuning for Linux Servers

Book

  • This product currently is not for sale.
Not for Sale
  • About
  • Description
  • Sample Content
  • Updates

Contributors

Untitled Document View the list of Contributors related to this title.

  • Copyright 2005
  • Dimensions: 7x9-1/4
  • Pages: 576
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-144753-X
  • ISBN-13: 978-0-13-144753-0

  • Proven techniques for optimizing web, file, print, database, and application servers

  • Practical introductions to open source performance management tools

  • Easy-to-understand examples based on Red Hat Enterprise Linux and Novell SUSE Linux Enterprise Server

An indispensable guide to maximizing Linux system and application performance

From Wall Street to Hollywood, Linux runs many of the world's most businesscritical systems. Linux performance now impacts the entire enterprise. In Performance Tuning for Linux Servers, a team of IBM's most-experienced Linux performance specialists shows you how to find bottlenecks, measure performance, and identify effective optimizations.

This book doesn't just cover kernel tuning: it shows how to maximize the end-to-end performance of real-world applications and databases running on Linux. Throughout, the authors present realistic examples based on today's most popular enterprise Linux platforms, Intel-based Red Hat Enterprise Linux, and Novell SUSE Linux Enterprise Server. These examples are designed for simplicity, clarity, and easy adaptation to any contemporary Linux environment. You'll discover how to

  • Install and configure Linux for maximum performance from the outset

  • Evaluate and choose the right hardware architecture for your Linux environment

  • Understand Linux kernels 2.4 through 2.6: components, performance issues, and optimization opportunities

  • Master core Linux performance tuning principles and strategies

  • Utilize free, open source tools for measurement, monitoring, system tracing, and benchmarking

  • Interpret performance data to analyze your Linux server's real-world behavior

  • Optimize Linux system schedulers, memory, I/O, file systems, and networking

  • Tune web, file, database, and application servers running commercial workloads

  • Predict the impact of changes in tuning parameters or configurations

  • Tune Linux code: optimize design, timing, sockets, threads, synchronization, and more

  • Architect for maximum performance: SMP scaling, clustering, and topology

  • Integrate kernel and application tuning in end-to-end system optimization projects

Whether you're an administrator, developer, integrator, or consultant, Performance Tuning for Linux Serverswill help you maximize the performance and value of every Linux system and application you run.


© Copyright Pearson Education. All rights reserved.

Online Sample Chapter

Performance Tuning for Linux: An Introduction to Kernels

Downloadable Sample Chapter

Untitled Document Download the Sample Chapter related to this title.

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.

Index

Untitled Document Download the Index related to this title.

FREE

ONE MONTH ACCESS!

WITH PURCHASE


Get unlimited 30-day access to thousands of Books & Training Videos about technology, professional development and digital media If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months.