When investigating a performance bottleneck or tuning a system's performance, the first step is to identify where a bottleneck exists (for example: CPU, memory, disk, network, or application). The procedure for identifying a bottleneck usually starts with checking for CPU constraints, and then proceeds through the flowchart shown in Figure 1 shown on page 2.
The following is a general rule of thumb for bottleneck identification based on statistics gathered with the vmstat command and the performance tuning flowchart:
- The system is CPU-bound if the sys and usr categories are constantly greater than or equal to 90.
- If the system is not CPU-bound, the next area to examine is the memory usage. Often, an iowait time in excess of 20% (because of paging) can indicate a memory problem. If there is a high pi (page in) and po (page out) rate, it is likely that the system has memory constraints.
- If the system is not memory-bound, the next area to check for performance issues is the disk, and then the network.

Figure 1: Performance tuning flowchart
|