Chapter 3. Analyzing performance bottlenecks 87
Draft Document for Review May 4, 2007 11:35 am 4285ch03.fm
Changes made to the elevator algorithm as described in 4.6.2, “I/O elevator tuning and
selection” on page 116 will be seen in avgrq-sz (average size of request) and avgqu-sz
(average queue length). As the latencies are lowered by manipulating the elevator settings,
avgrq-sz will decrease. You can also monitor the rrqm/s and wrqm/s to see the effect on the
number of merged reads and writes that the disk can manage.

3.4.2 Performance tuning options

After verifying that the disk subsystem is a system bottleneck, several solutions are possible.
These solutions include the following:
򐂰If the workload is of a sequential nature and it is stressing the controller bandwidth, the
solution is to add a faster disk controller. However, if the workload is more random in
nature, then the bottleneck is likely to involve the disk drives, and adding more drives will
improve performance.
򐂰Add more disk drives in a RAID environment. This spreads the data across multiple
physical disks and improves performance for both reads and writes. This will increase the
number of I/Os per second. Also, use hardware RAID instead of the software
implementation provided by Linux. If hardware RAID is being used, the RAID level is
hidden from the OS.
򐂰Consider using Linux logical volumes with striping instead of large single disks or logical
volumes without striping.
򐂰Offload processing to another system in the network (users, applications, or services).
򐂰Add more RAM. Adding memory increases system memory disk cache, which in effect
improves disk response times.
3.5 Network bottlenecks
A performance problem in the network subsystem can be the cause of many problems, such
as a kernel panic. To analyze these anomalies to detect network bottlenecks, each Linux
distribution includes traffic analyzers.

3.5.1 Finding network bottlenecks

We recommend KDE System Guard because of its graphical interface and ease of use. The
tool, which is available on the distribution CDs, is discussed in detail in 2.3.17, “KDE System
Guard” on page 62. Figure3-2 on page 88 shows it in action.