Pages

7/25/2013

Calculating IOPS Requirements

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

No comments: