I recently got my hands on a pair of HP P4300s in the lab and wanted to see how the performance was with Network RAID. One of the most read posts on this site is on Understanding RAID Penalty and I was curious to see how Network RAID played into this equation.
I have 2 HP P4300s, each with eight 15k SAS drives in a RAID 5 configuration. This means that I should have a total of 1400 RAW IOPS (8 disks * 175 IOPS) on each lefthand node. Since I have 2 of them, I’m calculating 2800 RAW IOPS. In order to get some real world functional IOPS, we’ll assume that we have 50% Reads and 50% Writes, and don’t forget to take out the RAID Penalty for the RAID 5. Let’s plug this into our Functional IOPS equation to get:
2 Nodes * (1400 Raw IOPS * .5 / 4) + 2 Nodes * (1400 * .5) = 1750 IOPS
So now we’ve found what the total amount of IOPS we should get for a RAID 5 implementation of 2 HP Lefthand Nodes. I can assume that adding Network RAID 0 to this should be about this number, because traditional RAID 0 has a write penalty of 1. My quick ninja math tells me that dividing anything by 1 returns me the same number so we’re set.
What about using Network RAID 10? Traditional RAID 10 has a write penalty of 2 so we must modify our calculations a bit to account for an additional write penalty.
2 Nodes * (1400 Raw IOPS * .5 / 4 / 2 ) + 2 Nodes * (1400 * .5) = 1575 IOPS
Up until this point, it’s all been theory. I was looking for some research on this and couldn’t find any, so I may be completely wrong here. If you have any different findings or data please feel free to share it. If I find out I’m posting bogus data here, I’ll remove this post.
So I pulled out IOMETER and and set my worker thread to 64 outstanding IOs, a Maximum 8000000 Sectors (4Gb), and a 4k 50% Read scenario.
Network RAID 0
Network RAID 10
Now clearly I’m getting more IOPS than I’d calculated, but that appears to be due to the controller cache on the P4300.
You can however see that there was a pretty big difference in the number of IOPS that we got when using Network RAID 10 vs what we got when using Network RAID 0.
It’s seemed logical to me that the IOPS would go down, but I thought I’d put it in writing in case someone else was looking for similar information.
I did graph out what several different RAID configuration should look like while using Network RAID. Having a traditional RAID 0 with any Network RAID has the biggest impact on IOPS. On the other hand, Traditional RAID 6 with Network RAID doesn’t affect performance as much.
The Y axis is IOPS, and the X Axis is the traditional RAID Penalty.