IOPS = input output operations per second
A measure of demand and a measure of capability.
IOPS Demand
Servers - perform monitoring, refer to os & app vendor information on requirements
Users (virtual desktop) - about 25 iops for a typical user running multiple apps at once, 2GB RAM, single CPU.
IOPS Capability
IOPS per disk = Rotational latency + Seek Latency / 1000
Disk Speed Est IOPS
7200 rpm 75
10000 rpm 125
15000 rpm 175
SSD 6000 (?)
Read vs Write
Typical average:
40% Read, 60% Write
RAID "Penalty"
Write operations to RAID disk arrays require additional io operations to write parity data.
see more at theithollow.com
RAID Level Write i/o Penalty
0 1
1 2
5 4
6 6
Calculation of required capability to meet demand:
IOPS Required =
(IOPS Demand * Read i/o%) + (Target IOPS * Write i/o% * RAID Penalty)
Unfortunately, I don't find such a scientific way to factor in the affect of caching/etc.
For example
Demand = 25 iops
read% = 40, write% = 60
RAID 5
(25 * 0.40 + 25 * 0.60 / 4) = 70
** Nearly triple!
So for 1000 users generating 25000 iops, we need 70000 iops on the "back end."
70000/175 = 400 15K disks would be required - holy moly
also see yellowbricks.com