Performance Guide
Table of Contents
Performance Guide
Performance Guide
Table of Contents
About this book
How this book is organized
Related documentation
Typographical conventions
How can we improve this book?
Chapter 1: What determines performance
Hardware factors that influence performance
Software factors that influence performance
Chapter 2: Managing performance
Tuning methodology
Defining performance goals
Collecting data
Formulating a hypothesis
Getting more specifics
Making adjustments to the system
Performance tuning case studies
Managing the workload
Chapter 3: Tuning CPU resources
Operating system states
Viewing CPU activity
Process states
Clock ticks and time slices
Context switching
Interrupts
Calculation of process priorities
Examining the run queue
Multiprocessor systems
Support for multiple processors
Using the mpstat load displayer
Examining interrupt activity on multiprocessor systems
Process scheduling
Adjusting the scheduling of processes
Controlling priority calculations -- dopricalc
Controlling the effective priority of processes -- primove
Controlling cache affinity -- cache_affinity
Controlling process preemption -- preemptive
Load balancing -- loadbalance
Identifying CPU-bound systems
Tuning CPU-bound systems
Chapter 4: Tuning memory resources
Physical memory
Virtual memory
Paging
Swapping
Viewing physical memory usage
Viewing swap space usage
Viewing swapping and paging activity
Identifying memory-bound systems
Tuning memory-bound systems
Reducing disk activity caused by swapping and paging
Increasing memory by reducing the buffer cache size
Investigating memory usage by system tables
Using graphical clients on low memory systems
Tuning X server performance
Kernel parameters that affect the X Window System
Case study: memory-bound workstation
Case study: memory-bound software development system
Chapter 5: Tuning I/O resources
Subsystems that affect disk and other I/O
How the buffer cache works
Viewing buffer cache activity
Increasing disk I/O throughput by increasing the buffer cache size
Positioning the buffer cache in memory
Tuning the number of buffer cache hash queues
How the namei cache works
Viewing namei cache activity
Reducing disk I/O by increasing the size of the namei cache
How multiphysical buffers are used
Tuning the number of multiphysical buffers
The mechanics of a disk transfer
Viewing disk and other block I/O activity
Identifying disk I/O-bound systems
Tuning disk I/O-bound systems
SCSI disk driver request queue
Tuning the number of SCSI disk request blocks
Filesystem factors affecting disk performance
Overcoming performance limitations of hard disks
Tuning virtual disk performance
Performance considerations for RAID 4 and 5
Choosing a cluster size
Balancing disk load in virtual disk arrays
Tuning virtual disk kernel parameters
Serial device resources
Tuning serial device resources
Configuring your system for high-speed modems
Case study: I/O-bound multiuser system
Case study: unbalanced disk activity on a database server
Chapter 6: Tuning networking resources
STREAMS resources
Monitoring STREAMS performance
Tuning STREAMS usage
TCP/IP resources
Tuning TCP/IP performance
Monitoring TCP/IP performance
NFS resources
Monitoring NFS performance
Tuning NFS performance
LAN Manager Client Filesystem resources
Tuning LAN Manager Client Filesystem performance
Other networking resources
Case study: intermittently poor network performance
Chapter 7: Tuning system call activity
Viewing system call activity
Identifying excessive read and write system call activity
Viewing process fork and exec activity
Viewing AIO activity
Viewing IPC activity
Reducing system call activity
Case study: semaphore activity on a database server
Appendix A: Tools reference
df -- report disk space usage
ps -- check process activity
sar -- system activity reporter
How sar works
Running sar
swap -- check and add swap space
timex -- examine system activity per command
vmstat -- virtual memory statistics
Appendix B: Configuring kernel parameters
Autotuning
When to change system parameters
Configuration tools
Using configure to change kernel resources
Using idtune to reallocate kernel resources
Kernel parameters that you can change using configure
Examining and changing configuration-dependent values
Appendix C: Configuring TCP/IP tunable parameters
Using ifconfig to change parameters for a network card
Using inconfig to change global TCP/IP parameters
TCP/IP parameters
Appendix D: Quick system tuning reference
Bibliography
Glossary of performance terminology
Index