Hello,
Regarding KVM - in particular RHEL 6.1 x86_64:
I just did a set of benchmarks comparing the effect of
<driver name='qemu' type='raw' cache='none'
io='native'/>
versus
<driver name='qemu' type='raw' cache='none'/>
Using Oracle's "orion" tool with an XIV backend, I got:
With io='native':
Maximum Large MBPS=964.41
Maximum Small IOPS=11797
Minimum Small Latency=7.57
WithOUT io='native':
Maximum Large MBPS=727.42
Maximum Small IOPS=7793
Minimum Small Latency=7.56
In other words, setting the io-attribute to 'native' yields a significant
performance improvement.
I wonder why KVM doesn't simply default to using io='native'. If that
can't happen, then I wonder why libvirt doesn't set io='native' for
storage attached to a guest after creation. (virt-manager sets io='native'
for the first storage, attached during guest setup, but seems to forget
for subsequent block-device additions).
--
Regards,
Troels Arvin <troels(a)arvin.dk>
http://troels.arvin.dk/