DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Performance Guide



About this book
        How this book is organized
        How can we improve this book?

What determines performance
        Hardware factors that influence performance
        Software factors that influence performance

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

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

Tuning memory resources
        Physical memory
        Virtual memory
                Paging
                        Page faults
                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
                System configuration
                Defining a performance goal
                Collecting data
                Formulating a hypothesis
                Getting more specifics
                Making adjustments to the system
        Case study: memory-bound software development system
                System configuration
                Defining a performance goal
                Collecting data
                Formulating a hypothesis
                Getting more specifics
                Making adjustments to the system

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
                        Overriding the size of the buffer cache at boot time
                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
                        Changing the interrupt trigger level
                        Increasing TTHOG and NCLIST
        Case study: I/O-bound multiuser system
                System configuration
                Defining a performance goal
                Collecting data
                Formulating a hypothesis
                Getting more specifics
                Making adjustments to the system
        Case study: unbalanced disk activity on a database server
                System configuration
                Defining a performance goal
                Collecting data
                Formulating a hypothesis
                Getting more specifics
                Making adjustments to the system

Tuning networking resources
        STREAMS resources
                Monitoring STREAMS performance
                Tuning STREAMS usage
        TCP/IP resources
                Tuning TCP/IP performance
                Monitoring TCP/IP performance
                        Configuring TCP/IP daemons for performance
                        Tuning SLIP performance
                        Tuning PPP performance
                        Testing network connectivity
                        Configuring network topology for performance
                        Configuring routing for performance
                        Configuring DNS name service for performance
        NFS resources
                Monitoring NFS performance
                Tuning NFS performance
                        Tuning NFS client performance
                        Configuring NFS daemons
                        Tuning the number of nfsd daemons on a server
                        Tuning the number of biod daemons on a client
                        Configuring asynchronous or synchronous writes
                        Configuring NFS to use TCP
                        Configuring IP to maximize NFS performance
                        Configuring mount options to maximize NFS performance
                        Performance considerations when using automount
                        Performance considerations when using NIS
        LAN Manager Client Filesystem resources
                Tuning LAN Manager Client Filesystem performance
                        Examining possible network or server problems
                        Examining the usage of server message blocks and lminodes
                        Examining the performance of each mounted filesystem
        Other networking resources
        Case study: intermittently poor network performance
                System configuration
                Defining a performance goal
                Collecting data
                Formulating a hypothesis
                Getting more specifics
                Making adjustments to the system

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
                        Semaphore resources
                        Messages and message queue resources
                        Shared memory resources
                        SUDS library spin locks and latches
        Reducing system call activity
        Case study: semaphore activity on a database server
                System configuration
                Defining a performance goal
                Collecting data
                Formulating a hypothesis
                Getting more specifics
                Making adjustments to the system

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

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
                        Buffer management
                        Buffer cache free list
                        Processes and paging
                        Memory management parameters
                        TTYs
                        Name cache
                        Name cache parameters
                        Asynchronous I/O
                        Virtual disks
                        User and group configuration
                        Security
                        TTY and console configuration
                        Filesystem configuration
                        Table limits
                        STREAMS
                        STREAMS parameters
                        Message queues
                        Message queue parameters
                        Event queues
                        Semaphores
                        Semaphore parameters
                        Shared memory
                        Shared memory parameters
                        Miscellaneous system parameters
                        System parameters
                        Miscellaneous device drivers and hardware parameters
                        Hardware and device driver parameters
                        Boot load extension parameters
                        LAN Manager Client Filesystem parameters
                Examining and changing configuration-dependent values

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
                        Address Resolution Protocol (ARP) parameters
                        asyh module parameters
                        Internet Control Message Protocol (ICMP) parameters
                        Internet Group Management Protocol (IGMP) parameters
                        Configuring the in-kernel network terminal (IKNT) driver
                        Internet Protocol (IP) parameters
                        mbcl driver parameters
                        NetBIOS parameters
                        Transmission Control Protocol (TCP) parameters
                        User Datagram Protocol (UDP) parameters

Quick system tuning reference

Bibliography

Glossary of performance terminology

Index