This release dramatically improves random read performance. This has been achieved by introducing a thread pool and implementing aio for random reads.
The performance of the 0.9.9.9 release was:
seq_read : io=12288MB, bw=501371KB/s, iops=125342 , runt= 25097msec rnd_read : io=2985.3MB, bw=50946KB/s, iops=12736 , runt= 60003msec seq_write: io=12288MB, bw=493912KB/s, iops=123478 , runt= 25476msec rnd_write: io=9301.5MB, bw=158731KB/s, iops=39682 , runt= 60005msec
And with the help of the new aio code 0.9.9.9-1 now shows these numbers:
seq_read : io=12288MB, bw=376373KB/s, iops=94093 , runt= 33432msec rnd_read : io=10419MB, bw=177818KB/s, iops=44454 , runt= 60001msec seq_write: io=12288MB, bw=496113KB/s, iops=124028 , runt= 25363msec rnd_write: io=9242.2MB, bw=157724KB/s, iops=39431 , runt= 60003msec
On the same server bcache (configuration tuned by Kent Overstreet ) shows these numbers:
seq_read : io=12288MB, bw=228324KB/s, iops=57080 , runt= 55110msec rdn_read : io=11250MB, bw=191989KB/s, iops=47997 , runt= 60001msec seq_write: io=7394.5MB, bw=126195KB/s, iops=31548 , runt= 60002msec rnd_write: io=7924.2MB, bw=135237KB/s, iops=33809 , runt= 60001msec
New in this release is that migration policy settings are now stored persistently on disk.
Enjoy,
Mark