Sequential Read & Write Patterns
IOMeter is sending a stream of read and write requests with a request queue depth of 4. The size of the requested data block is changed each minute, so that we could see the dependence of an array’s sequential read/write speed on the size of the data block. This test is indicative of the highest speed a disk array can achieve.
The read graphs are excellent! You can see good scalability and it’s all right with small data blocks. The simultaneous reading of large data blocks from both disks of mirror pairs is obvious.
It is all right with the healthy RAID5 and RAID6 arrays, too. The degraded arrays behave in an interesting way. They are inferior to their healthy counterparts in speed but only because they achieve their top speeds on somewhat larger data blocks. However, they are comparable to the healthy arrays in terms of max speed, which is a very satisfying performance.
The RAID0 and RAID10 are somewhat worse at linear writing than at linear reading. This is due to the surprisingly low performance of the 4-disk RAID0 and the inexplicable fluctuations of speed of the 8-disk RAID10 whose max speed looks like an accidental achievement.
The RAID5 and RAID6 arrays have problems with writing, too. Every array likes large data chunks. Even a 1MB block seems to be not big enough for the arrays to show their full speed although a full stripe equals only 512KB even with eight disks. The RAID5 arrays additionally have performance fluctuations with certain data block sizes, which indicates flaws in the controller’s firmware.