What is IOPS?
IOPS (Input Output Per Second) is a common performance metrics used for comparing/measuring the performance of Storage systems like HDD, SSD, SAN.
Quick Calculation sheet
RPM IOPS
15 K 175 IOPS
10 K 125 IOPS
7.2 K 75 IOPS
5.4 K 50 IOPS
How to Calculate IOPS requirement?
We will consider the 600G Segate Cheetah 15K RPM HDD.
http://www.seagate.com/files/docs/pdf/datasheet/disc/cheetah-15k.7-ds1677.3-1007us.pdf
Read/ Write seek time : 3.4 / 3.9 ms (take as 3.65)
Average latency : 2.0 ms
IOPS = 1000/ (Average latency in ms + average read/ write seek time)
= 1000/ (2 + 3.65)
= 176.99 IOPS
RAID level and write Penalty
RAID Level IO Write Penalty
RAID 0 0
RAID 1 / RAID 10 2
RAID 5 4
RAID 6 6
Total IOPS = Disk Speed IOPS * Number of disks
Actual IOPS = (((Total IOPS× Write %))/( RAID Penalty)) + (Total IOPS×Read %)
Suppose we have 8 the segate Cheetah 15K Hard Drives.
Total IOPS = 8 * 176.99
= 1415.92 IOPS (For RAID 0)
= ~ 1400 IOPS
Considering RAID Overheads
Work Load details
Write Load = 30 %
Read Load = 70%
RAID Level = 10
Actual IOPS = ((1400 * .30) / 2 + (1400 * .70)
= 1190 IOPS
Calculating number of Disks required (Reverse calculation)
Requirement I need 1200 IOPS with RAID 10, write load 30 % and read load 70%
Actual IOPS = 1200
Total IOPS = (Actual IOPS * RAID Penalty)/ (Write % + RAID Penalty – (RAID Penalty * write %))
= (1190 * 2) /( .3 + 2 – (.3*2))
= 2380 / 1.7
= 1400 IOPS