Start a Conversation

Unsolved

This post is more than 5 years old

24343

January 11th, 2011 08:00

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 ???

75 Posts

January 11th, 2011 10:00

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

211 Posts

January 11th, 2011 12:00

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?

211 Posts

January 11th, 2011 13:00

And you are more then welcome here

75 Posts

January 11th, 2011 13:00

just to be explicit:

500 = host IOPS, or "Front-end"

700 = disk IOPS, or "back-end"

in your example

211 Posts

January 11th, 2011 13:00

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?

75 Posts

January 11th, 2011 13:00

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

75 Posts

January 11th, 2011 13:00

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.

1 Rookie

 • 

5.7K Posts

January 12th, 2011 02:00

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

211 Posts

January 12th, 2011 02:00

@Rob,

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

Full = Full

1 Rookie

 • 

5.7K Posts

January 12th, 2011 03:00

I knew that.... I just wanted to tease you. This is important and you should not forget it anymore. Ever (for the time being).

211 Posts

January 12th, 2011 04:00

I thought so

But David explained it very well to me. And sometimes people need a second shot before they understand it.

211 Posts

January 25th, 2011 07:00

Ok thanks. And what about the formula. Is this correct?

211 Posts

January 25th, 2011 07:00

To be sure:

Is the formula in a RAID5(4+1) environment:
    r*h +(w*h*4) = diskIOPS

And when using a RAID 5(8+1) is the write Penalty 8?

1 Rookie

 • 

20.4K Posts

January 25th, 2011 07:00

it's still 4, unless it's a full stripe write.

1 Rookie

 • 

20.4K Posts

January 25th, 2011 08:00

r*h + 4*(w*h)

No Events found!

Top