4285ch04.fm Draft Document for Review May 4, 2007 11:35 am
92 Linux Performance and Tuning Guidelines
4.1 Tuning principals
Tuning any system should follow some rather simple principles of which the most important is
change management as described below. Generally the first step in systems tuning should be
to analyze and evaluate the current system configuration. Ensuring that the system performs
as stated by the hardware manufacturer and that all devices are running in their optimal mode
will create a solid base for any later tuning. Also prior to any specific tuning tasks a system
designed for optimal performance should have a minimum of unnecessary tasks and
subsystems running. Finally when moving towards specific systems tuning, it should be noted
that tuning often tailors a system towards a specific workload. Hence the system will perform
better for under the intended load characteristics but it will most likely perform worse for
different workload patterns. An example would be tuning a system for low latency which most
of the time has an adverse effect on throughput.

4.1.1 Change management

While not strictly related to performance tuning, change management is probably the single
most important factor for successful performance tuning. The following considerations might
be second nature to you, but as a reminder we highlight these points:
򐂰Implement a proper change management process before tuning any Linux system.
򐂰Never start tweaking settings on a production system.
򐂰Never change more than one variable during the tuning process.
򐂰Retest parameters that supposedly improved performance; sometimes statistics come into
play.
򐂰Document successful parameters and share them with the community no matter how
trivial you think they are. Linux performance is a topic that can benefit greatly from any
results obtained in production environments.
4.2 Installation considerations
Ideally the tuning of a server system towards a specific performance goal should start with the
design and installation phase. A proper installation that tailors a system towards the workload
pattern will save a significant amount of time during the later tuning phase.

4.2.1 Installation

In a perfect world, tuning of any given system starts at a very early stage. Ideally a system is
tailored to the needs of the application and the anticipated workload. We understand that
most of the time an administrator has to tune an already installed system due to a bottleneck,
but we also want to highlight the tuning possibilities available during the initial installation of
the operating system.
Several issues should be resolved before starting the installation of Linux, including:
򐂰Selection of the processor technology
򐂰Choice of disk technology
򐂰Applications
However, these issues are beyond the scope of this redpaper.
Ideally, the following questions should be answered before starting the installation: