Performance in Intel IOMeter: DataBase Pattern
As usual we will start with the results obtained during mixed requests processing. In this pattern we will check how well the controller can handle read and write requests for 8KB data blocks with random address. By changing the read-to-write requests ratio we will be able to see how efficient the controller driver is for sorting requests out.
First comes the table with the overall performance results:

Now take a look at the graphs showing the dependence of the data transfer rates on the relative density of writes. Each graph corresponds to a different requests queue depth:

When the workload in the beginning of the graph is linear (i.e. in RandomRead mode), all arrays show very similar speeds. As the probability of a write request grows up, the arrays performances start differing: the lazy writing of the hard disk drives begins to affect the results.
RAID 0 arrays start showing the dependence of the performance on the number of drives in the arrays at 20% writes already. However, the performance becomes scalable depending on the number of drives in the array only when the writes share reaches 90%.
The graphs for RAID 1 and RAID 10 mirrored arrays are almost identical to the graphs of the 2-HDD RAID 0 array and a single hard drive when the writes share is low. As the share of writes increases, mirrored arrays fall farther and farther behind.

Under heavier workload the RAID 0 array graphs turn scalable depending on the number of HDDs in the array in all modes. As the share of write requests increases, they speed up. In fact, RIAD 0 array of 4 hard drives is slightly slower than it should be for absolutely perfect scalability, but you can barely notice it on the graph.
The graphs for RAID 1 and RAID 10 arrays are almost identical to the graphs of 2-HDD RAID 0 and a single drive under linear workload and in case of small writes share among the processed requests. As the writes share increases, they start falling behind the RAID 0 of 2HDDs and a single drive.
This behavior of the mirrored arrays indicates that SiI3124 controller doesn’t use any optimizations for reading from mirrored arrays in case of random requests flow. Moreover, the mirrored algorithm slows down the writing quite significantly, too.

The 256 requests queue doesn’t affect the performance any more. RAID 0 arrays remain well-scalable as in the previous cases. The performance of RAID 1 and RAID 10 arrays are as fast as the 2-HDD RAID 0 array, when there are few write requests in the queue, and fall behind it and a single HDD when the writes share in the queue grows up.





