I was given a chart from a vendor that shows raw throughput of a disk array they suggested I purchase. This chart was a comparison between one array versus a list of others in terms of throughput. In an attempt to objectify this storage contention idea that keeps getting thrown in my face, I looked up the definitions of IOPS, throughput, and Bandwidth and their relationships in a storage environment. Here’s what I learned:
- IOPS = IO’s Per Second which is 1 / (average latency in ms + average seek time in ms) also based on block size
- Throughput = Amount of data the network can handle (3Gb, 6Gb, 12Gb SAS)
- Bandwidth = Network speed of the storage device (7.2k, 10k, 15k RPM drives)
Being somewhat of a gear head, I see these terms correlate closely to automotive concepts of horsepower, torque, and vehicle function. We Americans are known to purchase horsepower off-the-lot; however, we drive torque when choosing our vehicles. Likewise, many computer guys purchase throughput – 10k vs. 15k SAS drives when our applications actually “drive” IOPS. It is rare that a user’s speed perception and end-user experience is based solely on throughput. A high-horsepower vehicle may under-perform when compared to a lower-horsepower yet higher low-end torque vehicle at the green light. So, why is it that sales people and application vendors focus solely on drive RPM speed bandwidth and storage network throughput?