In this post I will detail how I calculate the impact of storage IOPS on your SAN based on the number of front end IOPS and chosen RAID configuration. There are two terms around IOPS you may hear people referred to as front end IOPS and back end IOPS. This post will detail what’s these two terms mean and how’s these relate to the impact on you SAN.
Front end IOPS are the number of input output operation per seconds coming from your servers or desktops (if your using VDI). This is number of reads or writes that come into your SAN from either your Ethernet or fibre switches.
Once these IOPS hit the SAN, depending on weather they are read or write requests, the SAN then has to perform the relevant request based on the RAID configuration set on the SAN. For example, if I make a write request to my SAN from a server which generates 10 IOPS, if the disk group on the SAN is in a RAID 1 it will write the data twice, therefore doubling the (back end) IOPS on the SAN. 10 IOPS comes in, 20 IOPS are the impact.
This increase in IOPS on the SAN is due to the RAID penalty of the RAID configuration chosen. The RAID penalty for each RAID configuration is detailed below.
“So, when calculating the impact of the penalty on the SAN, you simply multiply the front end IOPS by the RAID penalty, right?”
No, the RAID penalty alone isn’t the full picture but would give you the worst case scenario. You need to now take into account the read write ratio. The read write ratio is usually different for everyone, and because of this it is hard to estimate what your read write is going to be unless you have a working example in place i.e. a proof of concept. If you’re planning on sizing for a particular application or service it can be easier to estimate. For example, databases are mostly write intensive, and web servers are mostly read intensive.
If in doubt, a common perception I have seen from many articles is a ratio of 20% read / 80% write. This is usually a good basis to work from as writes are much more intensive on the SAN, however to ensure you don’t over size too much, having 20% read is often a safe bet for good a mixture.
So now we know what causes the IO impact on a SAN, let’s run through an example.
After monitoring my environment, I have calculated an average of 1500 front end IOPS.
I plan to configure my SAN in a RAID 5 configuration (penalty of 4).
I will be working on the basis that my read write ratio is 20% read / 80% write.
Step 1. Subtract the read percentage from the RAID penalty (4 – 20%) = 3.2
Step 2. Multiply the new RAID penalty (3.2) by the number of front end IOPS. 1500 x 3.2
Step 3. Take 20% of your front end IOPS for the total read IOPS (20% of 1500 = 300)
The total impact on the SAN for this example would be 5100 IOPS (300 Read / 4800 write)
Bear in mind this calculation is not 100% accurate but will give you a rough estimate on the amount of IO you will require on your SAN based on your chosen RAID configuration. This exercise is a good way to size up you requirements when considering what SAN to buy.
This is the method I used when sizing for a VDI environment. The SAN I was looking at buying was only configurable in a RAID 6 therefore I knew what penalty I was looking at and ultimately how many IOPS my environment would impact on the SAN based the on back end IOPS.
Thanks for reading and lookout for my future posts on storage performance and sizing.