The picture changes as we increase the workload. The mirror RAID10 array never falters as it is going through the test producing a smooth and flat graph. It seems that the high speed in the higher-reads-percentage modes is achieved by alternating requests between disks of the same mirror couple (that’s what we see in the random read mode: the RAID10 is faster than the four-disk RAID0 and nearly doubles the result of the two-disk RAID0).
On the contrary, when there are more writes in the queue, RAID0 constituent of RAID10 array clicks into action.
Curiously, the request alternation technology doesn’t work for RAID1 array! The graph above has the same shape as the graph of the single drive. It’s really a mystery why different algorithms are applied to RAID1 and RAID10…
The longer queue puts all drives of the RAID5 arrays into play – they process read requests as fast as the RAID0 arrays. Of course, when there’s a higher share of writes, the RAID5 arrays slow down.
RAID0 arrays should be the fastest everywhere save for the random read mode and they do show a high level of performance. However, the four-disk RAID0 stumbles on the 10% writes point. You may remember that we saw the same performance degeneration with Intel SRCS14L, Promise FT S150 TX4 and 3ware 8500 controllers.
This repeatability of the slump makes one suspect that it is a “feature” of the lazy write algorithms of the hard disk drives we use.
RAID0 arrays show excellent scalability depending on the number of drives in the arrays. The performance slump vanished from the graph of the four-disk array, but the arrays overall perform much similar to the previous operational mode. Curiously, the speed of the single drive is very close to that of the two-disk RAID0, while RAID0 arrays of different number of drives form up accurate “stairs”. This means that the controller handles a single drive in a different way than RAID0 arrays.
It is interesting, but the four-disk RAID0, RAID5 and RAID10 arrays show very close speeds in the random read mode, although we might have expected RAID10 to have an advantage. This type of workload doesn’t give a mirror array any advantage due to the request alternation. This applies only to RAID10, as RAID1 has no alternation of read requests.