Performance Tuning for Linux Servers [Electronic resources]

Sandra K. Johnson

نسخه متنی -صفحه : 227/ 2
نمايش فراداده

Sitemap

Table of Contents

Copyright

IBM Press

On Demand Computing Books

WebSphere Books

More Books from IBM Press

DB2® Books

Preface

Acknowledgments

About the Editors

About the Contributors

Part I. Linux Overview

Chapter ONE. Linux Installation Issues

Introduction

Preinstallation Planning

Configurable 2.6 Kernel Features

Linux Logging Facility

System Initialization: BSD Versus System V Initialization

Summary

References

Chapter TWO. 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

Chapter THREE. Overview of Server Architectures

Introduction

Linux Servers

Processors and Multiprocessing

Memory

I/O

Linux Enterprise Servers

Linux Clusters

Examples of Server Systems

Summary

Part II. Performance Analysis Tools

Chapter FOUR. System Performance Monitoring

Introduction

Background on Linux and Performance Analysis

CPU Utilization

Memory Utilization

I/O Utilization

Network Utilization

Summary

References

Chapter FIVE. System Trace Tools

Introduction

Requirements for System Tracing

The top Utility

strace

OProfile

Performance Inspector

Summary

References

Chapter SIX. 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

Part III. System Tuning

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

Introduction

Performance Evaluation Methodologies

Benchmarking Methodology Case Study

Analysis Methodology

Benchmarks

Summary

Acknowledgments

References

Chapter EIGHT. 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

Chapter NINE. The Linux Virtual MemoryPerformance Implications

Introduction

Memory and Address Space

High-Memory Support

Paging and Swapping

The Linux Page Tables

New Features in Linux 2.6

Summary

References

Chapter TEN. I/O SubsystemsPerformance 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

Chapter ELEVEN. File System Tuning

Introduction

File System Fundamentals

Journaled File Systems

Disks Factor into File System Performance

Fragmenting a File System

File Synchronization

bdflush Parameters

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

Chapter TWELVE. Network Tuning

Introduction

The Network Protocol Stack

Kernel Parameter Tuning Mechanisms

Kernel Parameter Tuning Mechanisms

Kernel Auto Tuning

Core Kernel Parameter Descriptions

Core Kernel Parameter Descriptions

TCP/IPv4 Protocol Kernel Parameters

TCP/IPv4 Protocol Kernel Parameters

Summary

References

Chapter THIRTEEN. Interprocess Communication

Introduction

What Is Interprocess Communication?

Linux SysV IPC Resources and the ipcs Command

Semaphore Parameters

Semaphore Parameters

Message Queue Parameters

Message Queue Parameters

Shared Memory Segment Parameters

Shared Memory Segment Parameters

Dynamically Modifying the Configurable IPC Parameters

Dynamically Modifying the Configurable IPC Parameters

Configuring IPC Parameters Statically

Configuring IPC Parameters Statically

Pipes

Summary

Chapter FOURTEEN. Code Tuning

Introduction

General Principles

Profiling to Understand the Application

Compiler Options as Tuning Tools

Code Tuning

Algorithm: Achieving Performance Through Design Choices

Summary

Part IV. Performance Characterization of Linux Server Applications

Chapter FIFTEEN. 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

Chapter SIXTEEN. File and Print Servers

Introduction

Types of Dedicated Network Storage Servers

Optimizing the Performance of Network Storage

References

Chapter SEVENTEEN. Database Servers

Introduction

Overview of Database Architectures

Database Tuning Areas to Consider

Process Management

Memory Management

I/O Management

Summary

Chapter EIGHTEEN. Application Servers

Introduction

The Application Server Defined

Java, J2EE, and Application Servers

Performance Characterization of Application Servers

Improving Performance and High Availability

Summary

References

Part V. Tuning Case Studies

Chapter NINETEEN. 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

Chapter TWENTY. Case Study: File System Tuning

Introduction

Analyzing File Layout

Tuning File Systems

Measuring I/O

Summary

References

Chapter TWENTY-ONE. Case Study: Network Performance on Linux

Introduction

Benchmarks Used in This Case Study

Enhancements in the Linux 2.4 and 2.6 Kernels

Case Study

Summary

References

Chapter TWENTY-TWO. 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

Appendix A. Tuning Kernel Parameters

Introduction

The sysctl Interface

The procfs Interface

sysfs (Linux Kernel 2.6 Only)

General Kernel Parameters

General Kernel Parameters

Virtual Memory

File System

Network