What Impacts Storage Array IOPS?

Here's what you need to know when it comes to input/output operations per second in physical storage.

Storage performance is an increasingly important consideration for companies that are buying new storage. For those new to storage, input/output operations per second (IOPS) is often a primary consideration. There are some important factors that impact the overall IOPS capabilities of a storage array.

While perusing the Web sites and marketing materials for storage vendors, customers will often run across the IOPS metric. IOPS is basically a performance component that indicates how many individual reads and writes a disk can handle. For example, a typical SATA disk can do about 70 IOPS. It's important to note that IOPS values are impacted dramatically by other factors. For example, when using a RAID 6 configuration, every write operation to an array actually requires 6 I/Os -- or 6 IOPS -- thanks to the need to write multiple copies of parity information. As such, suppose an array supports a maximum of 1,200 IOPS and it's configured with RAID 6. Assuming that there are 100 percent writes on this fictional array, that would mean that only about 200 actual I/O operations could be supported.

IOPS and Block Size
The block size in use to store data on the array is also an important consideration when it comes to IOPS.  Many vendors' IOPS claims assume a 4KB block size, which is not always a usable figure in the real world.  For example, a workload might require a 32KB block size.  For an array that is advertising the ability to support 80,000 IOPS at 4KB, that comes down to 10,000 IOPS at a 32KB block size.  On top of that, add a potential RAID 6 penalty...

...and it becomes very apparent that vendor IOPS claims require very, very careful scrutiny.

Reads aren't generally impacted by RAID overhead, so arrays almost always perform better when there are more reads.  So, in order to buy storage that has the right performance characteristics, it's really important to have a rough idea of the read/write ratio, especially if you're using RAID so that you can buy storage with enough IOPS to support needs.   When you look at vendor-provided stats, make sure that you're looking at real-world figures that have some basis in reality.

IOPS and I/O Patterns
When it comes to traditional hard disks, IOPS is also impacted by the way that data is being written to the disk.  Because hard disks spin really fast and use read and write heads that float over the disk platters, IOPS is maximized on hard disks when applications use sequential I/O patterns.  Think of it like painting a line on a highway.  The paint trunk just drives down the road with the pain nozzle engaged.  It's an efficient method.

Now, suppose that paint truck was forced to just paint short lines in random locations all over the county and it had to write those lines in a specific order.  As you can imagine, the process would take much longer to execute.  The same hold true for random I/O on hard disks.  Because the read/write heads and platters need to constantly realign, random I/O can also reduce overall IOPS potential.

As you are reviewing different storage products and the listed IOPS claims, bear in mind that other storage factors -- RAID level, block size, and I/O patterns -- can have a dramatic impact on overall array performance.

About the Author

Scott D. Lowe is the founder and managing consultant of The 1610 Group, a strategic and tactical IT consulting firm based in the Midwest. Scott has been in the IT field for close to 20 years and spent 10 of those years in filling the CIO role for various organizations. He's also either authored or co-authored four books and is the creator of 10 video training courses for TrainSignal.

comments powered by Disqus