IBM REDP-4285-00 User Manual

Page of 170
4285ch04.fm
Draft Document for Review May 4, 2007 11:35 am
114
 
Linux Performance and Tuning Guidelines
In this section we cover the characteristics and tuning options of the standard file system such 
as ReiserFS and Ext3 as well as the tuning potential found in the kernel 2.6 I/O elevators.
4.6.1  Hardware considerations before installing Linux
Minimum requirements for CPU speed and memory are well documented for current Linux 
distributions. Those instructions also provide guidance for the minimum disk space that is 
required to complete the installation. However, they fall short on how to initially set up the disk 
subsystem. Because Linux servers cover a vast assortment of work environments as server 
consolidation makes its impact in data centers, one of the first questions to answer is: What is 
the function of the server being installed?
A server’s disk subsystems can be a major component of overall system performance. 
Understanding the function of the server is key to determining whether the I/O subsystem will 
have a direct impact on performance. 
Examples of servers where disk I/O is most important: 
򐂰
A file and print server must move data quickly between users and disk subsystems. 
Because the purpose of a file server is to deliver files to the client, the server must initially 
read all data from a disk.
򐂰
A database server’s ultimate goal is to search and retrieve data from a repository on the 
disk. Even with sufficient memory, most database servers perform large amounts of disk 
I/O to bring data records into memory and flush modified data to disk.
Examples of servers where disk I/O is not the most important subsystem: 
򐂰
An e-mail server acts as a repository and router for electronic mail and tends to generate a 
heavy communication load. Networking is more important for this type of server.
򐂰
A Web server that is responsible for hosting Web pages (static, dynamic, or both) benefits 
from a well-tuned network and memory subsystem.
Number of drives
The number of disk drives significantly affects performance because each drive contributes to 
total system throughput. Capacity requirements are often the only consideration that is used 
to determine the number of disk drives that are configured in a server. Throughput 
requirements are usually not well understood or are completely ignored. The key to a 
well-performing disk subsystem is maximizing the number of read-write heads that can 
service I/O requests.
With RAID (redundant array of independent disks) technology, you can spread the I/O over 
multiple spindles. There are two options for implementing RAID in a Linux environment: 
software RAID and hardware RAID. Unless your server hardware comes standard with 
hardware RAID, you may want to start with the software RAID options that come with the 
Linux distributions; if a need arises, you can grow into the more efficient hardware RAID 
solutions.
If it is necessary to implement a hardware RAID array, you will need a RAID controller for your 
system. In this case the disk subsystem consists of the physical hard disks and the controller. 
It is paramount to remember that the disk subsystem performance ultimately depends on the 
number of input output requests a given device is able to handle. Once the operating system 
Tip: In general, adding drives is one of the most effective changes that can be made to 
improve server performance.