I think Silicon Valley was misnamed. If you look back at the dollars shipped in products in the last decade, there has been more revenue from magnetic disks than from silicon. They ought to rename the place Iron Oxide Valley.
Traditionally, I/O performance tuning has fallen behind less glamorous topics. This bias can be seen to the present day in the personal computer market: every computer manufacturer will advertise the clock rate of their CPUs, but it’s quite a bit rarer that they announce the rotational speed or internal transfer rate of their hard drives. Often our initial thoughts of performance are ones of processor power or memory consumption, not of transfer rates to and from disk platters.
It’s unfortunate, because the stakes in I/O tuning are exceedingly high; since disks are about six orders of magnitude slower than physical memory, avoiding trips to disk and making those necessary trips as fast as possible can have a huge impact on application performance.
Exacerbating the importance of I/O tuning is the fact that the most dramatic improvements in storage technology have been oriented at increasing the amount of data we can store, rather than how fast we can access it; rotational speed has gone up by about three times in the last ten years, but storage capacities have gone up by a factor of at least one hundred.
In this chapter, I describe this often neglected area of performance analysis and tuning. I focus initially on basic concepts ...