- 35,003
- 21,712
@pbuk, I looked at the numbers more carefully and actually <shudder> looked at the documentation.pbuk said:Yes I find some of those numbers a bit odd too -
Pure mirrors and stripes behave as expected. Parity RAID sometimes looks wacky. One thing I learned is that the RAID5 implementation cheats. If you have X bytes to store, you would expect it to put X/2 on one drive, X/2 on another, and have a X/2 parity block on a third. However, there is a minimum block size. If X is less than the minimum block size, the system mirrors the data on 2 of the 3 drives and there is no parity block.
The storage utilization is still inefficient, just not as inefficient as it could have been: 2 partially filled blocks rather than 3. But it means that performance will be somewhere between a true RAID5 and a mirror.
The next complication is that these are likely 4Kn/512e drives operating with a 512 sector size.
The data is uncompressed, and in real life it would be. This is a 20-30% effect on most of my data, and it some cases surprisingly good: my backups, which Windows itself compresses, is shrunk by 13%. That means 13% higher throughput. On user data it's even better: 36%. Since parith compresses less well tnan data, this is an additional penalty for paity RAID.
So, while I don't quantitatively understand the parity RAID performance, I am less surprised now.
pbuk said:I'm particularly surprised the only data for 4 disks is for RAID 6 and RAID 10, surely RAID 5 is the optimal compromise with 4 disks for most situations.
I'd use RAID5 for three. and do. But 4? I'd set it up as a pair of mirrors. Yes, I get only 2/3 of the capacity, but I'll get faster reads, faster writes, a good chance of surviving a double failure, and less intensive/risky rebuilds. Further, if I need more capacity, I can keep the pool up and add only two disks at a time, not all 4.