Hey, this is easier to say than to do… Of course, we could make 18 diagrams with two graphs on each (6 types of RAID arrays under three types of workloads). However, I doubt that you would be very much excited about it. Neither would be I, to tell the truth. :)
After a little bit of thinking, it seemed to me I found a really elegant solution (I have always been very modest, you know :) I made the third table, where each cell contains the WB value divided by WT value. In other words, the result of this division can be considered an efficiency coefficient for WB caching in each particular case. If the coefficient is smaller than 1 (marked in red), then WB caching doesn’t do any good here. If the coefficient is bigger than 1 (marked in blue), then WB-caching pushed the performance up, i.e. is very helpful.
If the coefficient is equal to 1.0, then both: WT and WB caching are equally efficient for this particular case.
This is a pretty curious thing, don’t you think so?
Of course, for a single HDD enabling WB-caching in the driver didn’t cause any performance boost. On the contrary, in RandomRead mode its performance even got a little bit lower.
However, two-drive RAID 0 arrays have definitely benefited from enabled WB-caching. The maximum performance boost for this array reached 10%. At the same time we can’t disregard the group of red cells on the right. The maximum drop caused by the enabled WB-caching made 17%. Even though this performance reduction was detected only in the mode, which is pretty hard to achieve (256 outgoing requests), it made a very unpleasant impression.
For RAID 0 arrays of three or four hard disk drives, enabling of WB-caching is not much of a deal. The maximum benefit they get from it is 2% performance growth. We got the impression that in these modes the driver optimizations do not work at all, and the performance difference should be explained solely by the measuring error.
The influence of WB-caching on the RAID 01 array performance appeared twofold. On the one hand, we see about 5% performance reduction under small workloads, while on the other hand WB-caching provides about 5-6% performance increase, as the workload grows up.
The effect of WB-caching on RAID 1 array performance was simply amazing. Even under linear workload in case of large writes share the performance boosted by well over 20%. The maximum bonus we managed to observe as a result of WB-caching equaled 36%!!!
However, even in this tropical heaven we see a few reds. Why did they turn up here? Note that they gathered in the left part of the table, i.e. within the “responsibility” of write requests. However, none of the red numbers can be seen in the RandomRead field. So, the array slow down when WB-caching is enabled in mixed modes with mostly read requests.