Sequential Read and Write Patterns
This pattern helps us examine the controller in sequential read and write mode. IOMeter is sending the drive a stream of read and write requests with a request queue depth of 4. Every minute the size of the data block is changed so that we could see the dependence of the sequential read/write speed on the data block size.
The controller’s read speed relative to the data block size is shown in the following table:
The RAID arrays are divided in two groups in the following diagrams for better comparison.
The advantages of RAID0 arrays that consist of many disks show up only when then requested data block is big enough, i.e. when the controller can split large blocks into a few smaller ones and use the disks in parallel. In this case, the RAID0 arrays perform very well. The 2-, 3-, and 4-disk arrays reach their maximum speeds on 8KB, 16KB and 32KB data blocks, respectively. The arrays’ scalability is perfect: the read speed grows up along with the number of drives per array.
The controller’s performance is perfect again: the graphs of the mirrored RAID1 and RAID10 arrays coincide with the graphs of the single drive and two-disk RAID0, respectively. The speed of the three- and four-disk RAID5 is the same as of the two- and three-disk RAID0, respectively. The RAID6 performs exactly like the two-disk RAID0 does.
Generally speaking, we should see this picture with any controller in this mode because array algorithms can’t have any effect on performance here, yet it can but seldom be seen in practice.