Multithreaded Read & Write Patterns
The multithreaded tests simulate a situation when there are one to four clients accessing the virtual disk at the same time – the clients’ address zones do not overlap. We’ll discuss diagrams for a request queue of 1 as the most illustrative ones. When the queue is 2 or more requests long, the speed doesn’t depend much on the number of applications.
- IOMeter: Multithreaded Read, RAID0
- IOMeter: Multithreaded Read, RAID1+RAID10
- IOMeter: Multithreaded Read, RAID5
- IOMeter: Multithreaded Read, RAID6
We guess it is the clearest illustration of multithreaded reading algorithms possible. The Promise controller just drops its speed heavily when the number of read threads increases whereas the HighPoint is capable of directing the two threads to the two different disks in a mirror. As a result, the latter’s read speed grows up twofold at two threads relative to its speed at one thread. The HighPoint’s speed lowers when there are even more threads to be processed, but remains comparable to the speed at one thread.
The HighPoint is brilliant when reading in one thread from a RAID0 array while the Promise is slow. The two controllers become equals as the number of read threads is increased. Take note that the arrays made out of many disks have little advantage. The controllers’ performance scalability is low in this test.
There are odd results with RAID. The degraded array on the Promise controller is the only one to show a high speed at one thread. The others aren’t fast at all. The degraded array on the HighPoint controller joins the leader when the number of threads is increased.
The degraded RAID6 arrays are incredibly fast again on the Promise controller.