Re: [libvirt-users] Yet another disk I/O performance issue

Daniel P. Berrange
2014-01-20T14:19:54Z

On Sun, Jan 19, 2014 at 08:01:55PM +0100, Matteo Lanati
wrote:
> Hi all,
>
> I'm running a VM using libvirt+KVM and I have a disk performance issue.
>
> The host is the following:
> 4 cores Intel Xeon 5140@2.33 GHz, 16 GB of RAM, SATA HDD, OS Debian Wheezy,
> libvirt 0.9.12-11, QEMU-KVM 1.1.2+dfsg-2.
>
> The guest:
> 1 CPU, 2 GB RAM running Debian 7.0, image in compressed qcow2 format.
>
> When I try do run "dd if=/dev/zero of=io.test bs=32768k count=40"
I get
> around 500 MB/s on bare metal, while only around 30 MB/s inside the VM.

'dd' is rarely a meaningful performance benchmark.

In particular with the way you're invoking it, you're not requesting
that the OS flush data to disk - so the data will be building up in
RAM which is very fast. Since your host likely has much more free RAM
for I/O cache than the guest, dd in the host is able todo much more
I/O to fast RAM before the OS has to start actually writing to slow
disk. The guest which is likely writing to slow disk much sooner giving
the lower results.

At the very least you need to request use of O_DIRECT with dd
so it is writing straight to disk. Or try a formal benchmark tool
like iozone

Daniel
--
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|