Performance Tuning for Linux Servers

Performance Tuning for Linux Servers

Hardcover(New Edition)

$49.49 $54.99 Save 10% Current price is $49.49, Original price is $54.99. You Save 10%.

Product Details

ISBN-13: 9780131447530
Publisher: IBM Press
Publication date: 05/27/2005
Edition description: New Edition
Pages: 576
Product dimensions: 7.20(w) x 9.36(h) x 1.17(d)

About the Author

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.

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.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews