Intel IOMeter Database Pattern
The controller is processing a stream of requests to read and write 8KB random-address data blocks. Changing the ratio of reads to writes in the stream we can determine how well the controller’s driver is sorting the requests out.
The results of this pattern follow below:
The following diagrams show the dependence of the data-transfer speed on the percentage of writes for different requests queue lengths. Since the number of supported RAID arrays is rather limited, we will divide the diagrams by different queue lengths only.
The arrays have the same speeds in the Random Read mode under a linear load, but as soon as there appear write requests the lazy write and the type of the array begin to influence its speed noticeably. The number of drives in the RAID0 array only affects its speed at high percentages of writes.
The RAID0 array is slower than the single drive when the number of write requests is above 50 percent. The RAID10 behaves oppositely to what we see with the two-disk RAID0. It’s hard to identify the effect of mirroring under this load.
As for the effect from Tagged Command Queuing, it is negative. Why? TCQ is bad under a linear load as some time is spent to process the requests, but this processing brings no particular advantages. This is compensated by the drives’ lazy writing algorithms at high percentages of writes, but otherwise the single drive with enabled TCQ is slower than the same single drive without TCQ, as you can clearly see.