This book, the AIX Versions 3.2 and 4 Performance Tuning Guide, provides information on concepts, tools, and techniques for assessing and tuning the performance of AIX on RS/6000 systems. Topics covered include efficient system and application design and implementation, as well as post-implementation tuning of CPU use, memory use, disk I/O, and communications I/O. Most of the tuning recommendations were developed or validated on AIX Version 3.2.5. Some information on AIX Version 4 is also provided. Information that applies only to AIX Version 4 is so identified in the text.
The material in this guide is designed for programmers, system managers, and end users concerned with performance tuning of AIX systems. You should be familiar with the AIX operating environment. Introductory sections are included to assist the less experienced and to acquaint experienced users with AIX performance-tuning terminology.
This is a major revision of the AIX Version 3.2 Performance Monitoring and Tuning Guide, including both changes in organization and new tuning recommendations. Of particular interest to the performance analyst are the changes in the packaging and content of the AIX performance tools in AIX Version 4.
There are appropriate tools for each phase of AIX system performance management. Some of the tools are available from IBM; others are the products of third parties. The figure illustrates the phases of performance management in a simple LAN environment and some of the tools packages that apply in each phase. This tuning guide also provides information about each phase.
The packaging of the performance tools lets the performance analyst install on any given system only those tools that are required to monitor and tune that system. The packages and their main functions are described in the following sections.
BEST/1 is a capacity-planning tool that uses queuing models to predict the performance of a given configuration when processing a specific workload. The prediction can be based on:
BEST/1 has three main components:
|Collect||Collects detailed information about the processing of a workload by an existing system.|
|Analyze||Transforms the detailed information into reports and a queuing model of the workload-processing activity.|
|Predict||Uses the queuing model to estimate the performance effects of changes in the workload or the configuration.|
BEST/1 for UNIX is a product of BGS Systems, Inc. BGS Systems can be reached at 1-800-891-0000 (in the US).
The Performance Diagnostic Tool, which is an optionally installable component of AIX Version 4, assesses the configuration of the system and tracks trends in resource use. If PDT detects an actual or potential performance problem, it reports the situation to the system administrator. This book contains the primary, detailed documentation of the functions of PDT.
The AIX Base Operating System contains a number of monitoring and tuning tools that have historically been part of UNIX systems or are required to manage the implementation-specific features of AIX. The BOS functions and commands that are most important to performance analysts are:
|iostat||Reports CPU and I/O statistics.|
|lsattr||Displays the attributes of devices.|
|lslv||Displays information about a logical volume or the logical volume allocations of a physical volume.|
|netstat||Displays the contents of network-related data structures.|
|nfsstat||Displays statistics about Network File System (NFS) and Remote Procedure Call (RPC) activity.|
|nice||Runs a command at higher- or lower-than-normal priority.|
|no||Displays or sets network options.|
|ps||Displays the status of processes.|
|renice||Changes the priority of one or more processes.|
|reorgvg||Reorganizes the physical-partition allocation within a volume group.|
|sar||Collects and reports or records system-activity information.|
|time||Prints the elapsed execution time and the user and system processing time attributed to a command.|
|trace||Records and reports selected system events.|
|vmstat||Reports virtual-memory activity and other system statistics.|
The documentation of the AIX BOS commands is the AIX Commands Reference Manual.
The Performance Toolbox for AIX (PTX) contains tools for local and remote system-activity monitoring and tuning. This licensed product consists of two main components: the PTX Manager and the PTX Agent. The PTX Agent is available as a separate licensed product called the Performance Aide for AIX. The figure shows a simplified LAN configuration in which the PTX Manager is being used to monitor the activity of several systems.
The main purpose of the PTX Manager is to collect and display data from the various systems in the configuration. The primary program for this purpose is xmperf. The primary program used by the Agent to collect and transmit data to the Manager is xmservd.
In addition to the main PTX components, in AIX Version 4 both the Performance Toolbox for AIX and the Performance Aide for AIX licensed products include a set of separate monitoring and tuning tools, most of which are part of the AIX Version 3.2.5 Base Operating System:
|fdpr||Optimizes an executable program for a particular workload.|
|filemon||Uses the trace facility to monitor and report the activity of the AIX file system.|
|fileplace||Displays the placement of a file's blocks within logical or physical volumes.|
|lockstat||Displays statistics about contention for kernel locks.|
|netpmon||Uses the trace facility to report on network I/O and network-related CPU usage.|
|rmss||Simulates systems with various sizes of memory for performance testing.|
|svmon||Captures and analyzes information about virtual-memory usage.|
|syscalls||Records and counts system calls.|
|tprof||Uses the trace facility to report CPU usage at module and source-code-statement levels.|
|bf||Reports memory access patterns of processes (AIX Version 4 only).|
|stem||Permits subroutine-level entry/exit instrumentation of existing executables (AIX Version 4 only).|
The primary documentation of the commands and functions of PTX is the Performance Toolbox Version 1.2 and 2 for AIX: Guide and Reference, although the syntax descriptions of the tools listed above are documented in the AIX Version 4.3 Commands Reference. Use of the listed commands is incorporated in various diagnosis and tuning scenarios in this book.
The AIX Performance PMR Data Collection Tool (PerfPMR) package is used to collect configuration and performance information to accompany a report of a suspected AIX performance defect. This book contains the primary, detailed documentation of the functions and use of PerfPMR.
The rmap trace data reduction and reporting program is not supported in AIX Version 4.
This book contains the following chapters and appendixes:
The following highlighting conventions are used in this book:
|Bold||Identifies commands, subroutines, keywords, files, structures, directories, and other items whose names are predefined by the system. Also identifies graphical objects such as buttons, labels, and icons that the user selects.|
|Italics||Identifies parameters whose actual names or values are to be supplied by the user.|
|Monospace||Identifies examples of specific data values, examples of text similar to what you might see displayed, examples of portions of program code similar to what you might write as a programmer, messages from the system, or information you should actually type.|
ISO 9000 registered quality systems were used in the development and manufacturing of this product.
The following books contain information about or related to performance monitoring:
You can order publications from your sales representative.
To order additional copies of this book, use order number SC23-2365.
Use AIX and Related Products Documentation Overview for information on related publications and how to obtain them.