4285ch03.fm Draft Document for Review May 4, 2007 11:35 am
80 Linux Performance and Tuning Guidelines
3.1.2 Analyzing the server’s performance
At this point, you should begin monitoring the server. The simplest way is to run monitoring
tools from the server that is being analyzed. (See Chapter2, “Monitoring and benchmark
tools” on page 39, for information.)
A performance log of the server should be created during its peak time of operation (for
example, 9:00 a.m. to 5:00 p.m.); it will depend on what services are being provided and on
who is using these services. When creating the log, if available, the following objects should
be included:
򐂰Processor
򐂰System
򐂰Server work queues
򐂰Memory
򐂰Page file
򐂰Physical disk
򐂰Redirector
򐂰Network interface
Before you begin, remember that a methodical approach to performance tuning is important.
Our recommended process, which you can use for your server performance tuning process,
is as follows:
1. Understand the factors affecting server performance.
2. Measure the current performance to create a performance baseline to compare with your
future measurements and to identify system bottlenecks.
3. Use the monitoring tools to identify a performance bottleneck. By following the instructions
in the next sections, you should be able to narrow down the bottleneck to the subsystem
level.
4. Work with the component that is causing the bottleneck by performing some actions to
improve server performance in response to demands.
5. Measure the new performance. This helps you compare performance before and after the
tuning steps.
When attempting to fix a performance problem, remember the following:
򐂰Applications should be compiled with an appropriate optimization level to reduce the path
length.
򐂰Take measurements before you upgrade or modify anything so that you can tell whether
the change had any effect. (That is, take baseline measurements.)
򐂰Examine the options that involve reconfiguring existing hardware, not just those that
involve adding new hardware.
Important: Before taking any troubleshooting actions, back up all data and the
configuration information to prevent a partial or complete loss.
Note: It is important to understand that the greatest gains are obtained by upgrading a
component that has a bottleneck when the other components in the server have ample
“power” left to sustain an elevated level of performance.