Database Tuning: Principles, Experiments, and Troubleshooting Techniques

The world would be much simpler if tuning the hardware could be done independently from tuning the software. Unfortunately, the two are intimately related. Although expert tuners often note the processor utilization, I/O activity, and paging, they rarely stop there.
The reason is simple. The fact that a resource is overloaded does not imply that you have to buy more of it. It may be better to rewrite the queries or to add indexes to support important queries, for example. That is, fixing the software may lessen the load on the hardware.
Large-scale storage subsystems comprise multiple storage devices, that is, disks or disk arrays, each connected to one or several processing units. The storage subsystem also includes software that manages and configures storage devices, logical volume managers that tie multiple storage devices together, and the file system that arranges data layout on logical volumes.
Tuning the storage subsystem involves
configuring the disk array (RAID level)
using the controller cache
performing capacity planning and sizing
configuring logical volumes
A disk array comprises several disks managed by a controller. There are two potential benefits of disk arrays. First, they can provide fault tolerance by introducing redundancy across multiple disks. Second, they can provide increased throughput because the disk array controller supports parallel access to multiple disks.
The different types of disk arrays are known by their RAID (redundant arrays of inexpensive disks) levels. The currently most useful defined RAID...