So I got a disk array and I want to know what sort of IOps workload it can support.
Articles like IOps? provide a pretty standard formula I have seen before, but only answers the question “Given a required workload IOps for an application, how big does the array need to be to support it?” This equation is
Array IOPS = (Workload IOPS * Read Workload Percent) + (Workload IOPS * Write Workload Percent * RAID IO Penalty)
However, sometimes you want to answer the opposite question “Given a total number of IOps for an array, how much workload IOps can it support?”
The answer is really just to solve for Workload IOPS in the above equation. To save you the math,
Workload IOPS = Array IOPS / (Read Workload Percent + Write Workload Percent * RAID IO Penalty)
This could have been pretty handy a couple of years ago when I was trying to build a private cloud, to help me understand how much workload the arrays we used would support – and therefore figure out how many virtual machines we could run.