8 Krypton

IOPS calculation

How do I calculate the average IOPS in a (2+2) RAID 10 environment over 4 15K disks.

According specs: max. 380  (avg. 190) I/Os per second ST3450857FC  15K.7 450 GB

Is it 190x4=760 IOPS? What is my writepenalty in this configuration?

Am I right when I say 1+(parity/#hdd) = 1+(2/4) = 1,5 write penalty ???

Tags (2)
32 Replies
Highlighted
8 Krypton

Re: IOPS calculation

we use a best practice (conservative all-around estimate) of 180 IOPS per drive, for 15 K drives. We can figure the best practice host IOPS rate (assuming random IO) if you know the approximate read/write mix.

To determine the host-deliverable IOPS from the drives in RAID 1 use this equation:

(h = host IOPS, r = read%, w = write%)

h = diskIOPS / (r+2w)

so in your case, with 4 * 180 IOPS, you have 720 disk IOPS available. To get host IOPS you need to know your read/write rate. If it is 60/40 read/write, it is

h = 720 /(0.6 + 2*0.4)

h = 512 IOPS

Note the above equation is derived from the equation for disk IOPS from host load (h = host IOPS, r = read%, w = write%) which for RAID 1 and RAID 1/0 is as follows:

r*h + 2*(w*h) = diskIOPS

example r = 60% and w = 40%, for 10000 host IOPS

.6*10000 + 2 * 0.4 * 10000= diskIOPS

6000 + 2 * 4000= diskIOPS

14000 = diskIOPS

8 Krypton

Re: IOPS calculation

Excellent explained, thank you.

In your example with RAID 10 I will use my figure to see if I understand it.

Note the above equation is derived from the equation for disk IOPS  from host load (h = host IOPS, r = read%, w = write%) which for RAID 1  and RAID 1/0 is as follows:

r*h + 2*(w*h) = diskIOPS

example r = 60% and w = 40%, for 10000 host IOPS

.6*10000 + 2 * 0.4 * 10000= diskIOPS

6000 + 2 * 4000= diskIOPS

14000 = diskIOPS

So If I use your example with my figures (500 IOPS total) it should look like this.

0,6*500 + 2 * (0,4*500) =  DiskIOPS

300 + 2 * 200 = DiskIOPS

700 = DiskIOPS

Am I correct?

And we talking about backend IOPS and not frontend. Correct?

0 Kudos
8 Krypton

Re: IOPS calculation

yes that is the correct series of steps to determine back-end load (diskIOPS in my equation) for a given host load. You would use the other equation to determine the potential host load for a given back-end load.

This all assumes of course that you have a random, small block (smaller than the RAID stripe) workload. It also does not work in caching effects. A really accurate estimation requires some programming and knowledge of system optimizations and bottlenecks. But this approach is good for determining longterm sustainable load.

0 Kudos
8 Krypton

Re: IOPS calculation

just to be explicit:

500 = host IOPS, or "Front-end"

700 = disk IOPS, or "back-end"

in your example

8 Krypton

Re: IOPS calculation

Thanks for your support and quick feedback. You seem to manage this matter well.

It is absolutely clear to me now.

Of course there is still caching involved. And I believe there are some calculations to take into this example as well regarding this or not?

0 Kudos
8 Krypton

Re: IOPS calculation

You are welcome. I don't always have the time to haunt the boards, but try to drop in regularly.

0 Kudos
8 Krypton

Re: IOPS calculation

And you are more then welcome here

0 Kudos
8 Krypton

Re: IOPS calculation

I'd suggest the Clariion Performance Workshop. You'll get the same explanation there plus a whole lot of background info !

0 Kudos
8 Krypton

Re: IOPS calculation

@Rob,

As you know I followed this course. But some how I deleted the info from my mind

Full = Full

0 Kudos