Performance in Intel IOMeter Sequential Read and Write Patterns
Now let’s see how the controller will cope with Sequential Reads and Writes.
IOMeter utility sends a stream of read and write requests with the requests queue depth equal to 4. Once per minute the test automatically changes the size of the processed data blocks. As a result, we can evaluate the dependence of the linear read or write speed on the data block size. The obtained results (the dependence of the controller performance on the data block size) have been summed up in the tables below for your convenience:

Let’s split the graph into two parts for better understanding:

The scalability of the array performance depending on the number of HDDs involved is pretty evident, although the maximum speed can only be achieved for large requests, that is when the controller splits the big request into a few smaller ones, which are performed by a few HDDs simultaneously. This is probably once of the reasons for the four-drive array to run almost as fast as the three-drive one. On the other hand, we know how big the stripe is: 64KB. As soon as the data block reaches 256KB, the array of 4 HDDs should already be 4 times faster than the single HDD. We do not see this, however, and the controller is the one to blame.

As we remember, some manufacturers alternate read requests between the drives of the mirrored pair. This way, RAID 1 array appears similar to RAID 0 array during reading, so that the reading from the array can (theoretically) become twice as fast. But as we see in the next benchmark, Intel SRCS14L controller doesn’t use this algorithm. The read speed from RAID 0 array is almost the same as the read speed from RAID 1. RAID 10 proves to be almost ideally twice as fast as RAID 1. RAID 5 arrays of three and four drives speed up a little bit as the data block grows bigger, however, the performance growth typical of RAID 5 only starts somewhere around 256KB data blocks. As we remember, the stripe-block is 64KB big, therefore the array of three HDDs starts working faster only when the data block size reaches 192KB (we simply do not have this mark on the axis). And for RAID 5 of four drives this point is at 256KB. At the same time, the latter array speeds up so greatly that with 1MB data blocks we can even see our Intel SRCS14L controller work at the maximum of 180MB/sec.
Now let’s check if the lazy writing affects the performance in Sequential Read pattern at all.

As we see, it doesn’t, which is really nice :)



