Web lists-archives.com

Re: virtual disks perfermonca <=2MB/s

On Wed, Feb 22, 2017 at 10:17:01AM +0200, Mimiko wrote:

I already wrote to qemu mail list and didn't find an answer.

I've setup qemu / kvm on Debian Wheezy to host some Debian Jessie guests.
I create disk like this:

virsh vol-create-as --pool default --name root.vhd --capacity 50G --format vpc

Then create a virtual with this:
virt-install --connect qemu:///system \
--ram 2048 \
--vcpus=4 \
--cpuset=auto \
--pxe \
--os-type linux \
--boot network,hd,menu=on \
--disk vol=default/root.vhd,device=disk,bus=virtio,cache=writethrough \
--network=bridge:br0,model=virtio \
--noautoconsole \
--hvm \
--autostart \

After setting up the system I've got poor disk performance.

time dd if=/dev/zero of=/tmp/test oflag=direct bs=64k count=16000

I get 1048576000 bytes (1.0 GB) copied, 397.473 s, 2.6 MB/s

I've changed cache to writeback and got 20MB/s with this test. But copying a file to this virtual using samba gives me no more of 2 MB/s.

I've tested network connectivity with iperf and got around 750Mbit/s, which I think is satisfactory.

I will not want to use raw devices, as it is not self expanded and will use whole space regardless of how much real data occupy.

libvirtd (libvirt)

Is there a way to increase disk speed to at least 50MB/s ?

StackExchange (http://serverfault.com/questions/407842/incredibly-slow-kvm-disk-performance-qcow2-disk-files-virtio) suggests that QCOW2 may be a factor, and to use:

$ qemu-img create -f qcow2 -o preallocation=metadata,compat=1.1,lazy_refcounts=on imageXYZ

but there's a bunch of other cargo-cult options to try, too! :D

For more information, please reread.