When the Oracle DBAs ask for disks, they always specify that they want XXXX IOPs. For example, I got a request today for 3 TB (20 LUNs x 150 GB) of space which must support 4500 IOPs. RAID 5 (4+1).
So, how do I calculate this?
If it's RAID 5 (4+1), and the IOPs of the disk 180 IOPs per disk (15K RPM, 4 Gb/s). Do I count ALL of the disks, including the parity disk, or do I just count the "data disks". i.e. - If I have 1 RAID Group R5(4+1) is that 4 x 180 IOPS/disk ro 5 x 180 IOPS/disk?
If the disks are RAID 1/0, do I count ALL of the disks, or just 1/2 of the disks?
To accurately calculate, you also need to know what percentage of the IOPS is writes vs reads. Writes increase the backend disk load, the amount of the increase is dependent on the RAID type. You do include the parity or mirror disks in the IOPS calculations, but obviously not in the capacity calculation.
So for example…
4500 IOPS at 100% Read = 4500 disk IOPS regardless of RAID Type
4500 IOPS at 100% Write = 9000 disk IOPS in RAID10, 18000 IOPS in RAID5, and 27000 IOPS in RAID6.
At 180 IOPS per spindle, you’d need 25 disks for 100% Read environment, or 100 disks in a 100% Write environment using RAID5
Let’s assume a more reasonable 2:1 read/write ratio (33% writes)
3015 Read IOPS and 1485 Write IOPS and 20TB of usable capacity.
Backend/Disk IOPS equate to:
5985 RAID10 – 5985 IOPS / 180 = 34 disks
8955 RAID5 – 8955 IOPS / 180 = 50 disks
11925 RAID6 – 11925 IOPS / 180 = 68 disks
To meet the capacity requirement you need 38 x 600GB data disks to get to 20TB usable which is >76 disks in RAID10, 48 disks in RAID5. In essence, with a 15K drive, you would meet the IOPS requirements just by meeting the capacity requirements (this is not always the case).
For CX3/CX4, the least cost option for this workload would be 65 x 450GB 10K in RAID5 which would provide the best balance of the capacity and IOPS requested. Larger disks would give more capacity that you don’t need and faster disks would provide performance above and beyond what was requested. This may be good depending on your confidence in the performance requirements.
For VNX, the least cost option is 50 x 600GB 15K SAS in RAID5
You're welcome. Don't forget to mark this question as answered and any helpful answers as well. this helps future readers to nuderstand the issue as well.
when calculating the IOPS is there a formula to then factor in the write cache on the system
so for example if i have a 70/30 read/write mixture in a RAID 5 array how would the cache affect this
i know there are different size caches on the various cx4s but i'm just looking for a rough indication of how the cache will improve performance IOPS wise ?
i do understand the cache cannot speed up the actual IOPS of disks but it does speed up the IO's and i just want to factor this into my configuration
The EMC CLARiiON Storage System Fundamentals for Performance and Availability whitepaper in its 'Write Cache' section has a good explanation of the write cache's function.
The affect of cache on I/O is dependent on a large number of factors. The difference in response time between cached and uncached performance can be the difference between a few milliseconds and tens of milliseconds, perhaps as much as 100 milliseconds.
Pick your scenario? It can range from a small-block read I/O finding its result already waiting in read cache as a result of read ahead, to an uncachable 1MB write I/O to a LUN on a 4+2, 7.2K RPM 1 TB SATA drive RAID group with the storage processor already at 95% utilization that is furiiously fast flushing. The difference between these scenarios captures many of the considerations.
Storagesavvy
474 Posts
5236
1
Posted February 28th, 2011 12:00
To accurately calculate, you also need to know what percentage of the IOPS is writes vs reads. Writes increase the backend disk load, the amount of the increase is dependent on the RAID type. You do include the parity or mirror disks in the IOPS calculations, but obviously not in the capacity calculation.
So for example…
4500 IOPS at 100% Read = 4500 disk IOPS regardless of RAID Type
4500 IOPS at 100% Write = 9000 disk IOPS in RAID10, 18000 IOPS in RAID5, and 27000 IOPS in RAID6.
At 180 IOPS per spindle, you’d need 25 disks for 100% Read environment, or 100 disks in a 100% Write environment using RAID5
Let’s assume a more reasonable 2:1 read/write ratio (33% writes)
3015 Read IOPS and 1485 Write IOPS and 20TB of usable capacity.
Backend/Disk IOPS equate to:
5985 RAID10 – 5985 IOPS / 180 = 34 disks
8955 RAID5 – 8955 IOPS / 180 = 50 disks
11925 RAID6 – 11925 IOPS / 180 = 68 disks
To meet the capacity requirement you need 38 x 600GB data disks to get to 20TB usable which is >76 disks in RAID10, 48 disks in RAID5. In essence, with a 15K drive, you would meet the IOPS requirements just by meeting the capacity requirements (this is not always the case).
For CX3/CX4, the least cost option for this workload would be 65 x 450GB 10K in RAID5 which would provide the best balance of the capacity and IOPS requested. Larger disks would give more capacity that you don’t need and faster disks would provide performance above and beyond what was requested. This may be good depending on your confidence in the performance requirements.
For VNX, the least cost option is 50 x 600GB 15K SAS in RAID5