[libvirt-users] Sluggish performance with virtio and Win10

Hello, I'm using virt-manager on my F23 box to run a Windows 10 image but the performance is so bad it's killing me. I have "vmx" flag in /proc/cpuinfo # lsmod |grep kvm kvm_intel 167936 6 kvm 503808 1 kvm_intel virtio-win-0.1.112-1.noarch But no virtio modules loaded. Should they be loaded nowadays? The disk format used is vmdk with no caching and native mode. The io is 100% in windows task manager performing less than 1MB/s Any clues? /usr/bin/qemu-system-x86_64 -machine accel=kvm -name win10-box -S -machine pc-i440fx-2.4,accel=kvm,usb=off,vmport=off -cpu SandyBridge,+osxsave,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,kvm=off -m 4096 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid d4a67adb-5d30-42f8-b8c6-d3c4598700f2 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win10-box.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 -device ahci,id=sata0,bus=pci.0,addr=0x8 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive file=/usr/share/virtio-win/virtio-win.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive if=none,id=drive-ide0-0-1,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -drive file=/vm/storage/win10-box.img,if=none,id=drive-virtio-disk0,format=vmdk,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0xa,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=27,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:cc:f0:31,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -spice port=5900,addr=127.0.0.1,disable-ticketing,seamless-migration=on -device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on

On Thu, Feb 18, 2016 at 08:49:38AM +0100, John Obaterspok wrote:
Hello,
I'm using virt-manager on my F23 box to run a Windows 10 image but the performance is so bad it's killing me.
I have "vmx" flag in /proc/cpuinfo
# lsmod |grep kvm kvm_intel 167936 6 kvm 503808 1 kvm_intel
virtio-win-0.1.112-1.noarch
But no virtio modules loaded. Should they be loaded nowadays?
Not on the host AFAIK.
The disk format used is vmdk with no caching and native mode. The io is 100% in windows task manager performing less than 1MB/s
Any clues?
What are the figures from the host? What is qemu doing and what are the other processes and devices doing?
/usr/bin/qemu-system-x86_64 -machine accel=kvm -name win10-box -S -machine pc-i440fx-2.4,accel=kvm,usb=off,vmport=off -cpu SandyBridge,+osxsave,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,kvm=off -m 4096 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid d4a67adb-5d30-42f8-b8c6-d3c4598700f2 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win10-box.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x6.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x6 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x6.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x6.0x2 -device ahci,id=sata0,bus=pci.0,addr=0x8 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive file=/usr/share/virtio-win/virtio-win.iso,if=none,id=drive-ide0-0-0,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive if=none,id=drive-ide0-0-1,readonly=on,format=raw -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -drive file=/vm/storage/win10-box.img,if=none,id=drive-virtio-disk0,format=vmdk,cache=none,aio=native -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0xa,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=27,id=hostnet0,vhost=on,vhostfd=28 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:cc:f0:31,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -spice port=5900,addr=127.0.0.1,disable-ticketing,seamless-migration=on -device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -msg timestamp=on
_______________________________________________ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users

2016-02-18 10:13 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 08:49:38AM +0100, John Obaterspok wrote:
Hello,
I'm using virt-manager on my F23 box to run a Windows 10 image but the performance is so bad it's killing me.
I have "vmx" flag in /proc/cpuinfo
# lsmod |grep kvm kvm_intel 167936 6 kvm 503808 1 kvm_intel
virtio-win-0.1.112-1.noarch
But no virtio modules loaded. Should they be loaded nowadays?
Not on the host AFAIK.
The disk format used is vmdk with no caching and native mode.
The io is 100% in windows task manager performing less than 1MB/s
Any clues?
What are the figures from the host? What is qemu doing and what are the other processes and devices doing?
What is the best way to find this out? -- john

On Thu, Feb 18, 2016 at 10:41:42AM +0100, John Obaterspok wrote:
2016-02-18 10:13 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 08:49:38AM +0100, John Obaterspok wrote:
Hello,
I'm using virt-manager on my F23 box to run a Windows 10 image but the performance is so bad it's killing me.
I have "vmx" flag in /proc/cpuinfo
# lsmod |grep kvm kvm_intel 167936 6 kvm 503808 1 kvm_intel
virtio-win-0.1.112-1.noarch
But no virtio modules loaded. Should they be loaded nowadays?
Not on the host AFAIK.
The disk format used is vmdk with no caching and native mode.
The io is 100% in windows task manager performing less than 1MB/s
Any clues?
What are the figures from the host? What is qemu doing and what are the other processes and devices doing?
What is the best way to find this out?
{,a,h}top should do for the initial runs, just to see if the block layer is busy or the CPU is busy or something else is blocking it
-- john

2016-02-18 11:25 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 10:41:42AM +0100, John Obaterspok wrote:
2016-02-18 10:13 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 08:49:38AM +0100, John Obaterspok wrote:
Hello,
I'm using virt-manager on my F23 box to run a Windows 10 image but the performance is so bad it's killing me.
I have "vmx" flag in /proc/cpuinfo
# lsmod |grep kvm kvm_intel 167936 6 kvm 503808 1 kvm_intel
virtio-win-0.1.112-1.noarch
But no virtio modules loaded. Should they be loaded nowadays?
Not on the host AFAIK.
The disk format used is vmdk with no caching and native mode.
The io is 100% in windows task manager performing less than 1MB/s
Any clues?
What are the figures from the host? What is qemu doing and what are the other processes and devices doing?
What is the best way to find this out?
{,a,h}top should do for the initial runs, just to see if the block layer is busy or the CPU is busy or something else is blocking it
atop seems to indicate that sdd is busy? DSK | sdd | busy 96% | | read 1455 | write 1319 | KiB/r 5 | KiB/w 9 | | MBr/s 0.74 | MBw/s 1.26 | avq 1.01 | | avio 3.43 ms | # mount | grep sdd /dev/sdd2 on /vm type ext4 (rw,relatime,seclabel,data=ordered) guest configuration is below: <domain type='kvm'> <name>win10-box</name> <uuid>d4a67adb-5d30-42f8-b8c6-d3c4598700f2</uuid> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>4</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-2.4'>hvm</type> </os> <features> <acpi/> <apic/> <pae/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> <kvm> <hidden state='on'/> </kvm> <vmport state='off'/> </features> <cpu mode='host-model'> <model fallback='allow'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> <timer name='hypervclock' present='yes'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> <devices> <emulator>/usr/bin/qemu-kvm</emulator> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/usr/share/virtio-win/virtio-win.iso'/> <target dev='hda' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='vmdk' cache='none' io='native'/> <source file='/vm/storage/win10-box.img'/> <target dev='vda' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </controller> <interface type='direct'> <mac address='52:54:00:cc:f0:31'/> <source dev='eno1' mode='bridge'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='spice' autoport='yes'/> <sound model='ich6'> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </sound> <video> <model type='vga' vram='16384' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </memballoon> </devices> </domain>

On Thu, Feb 18, 2016 at 12:59:52PM +0100, John Obaterspok wrote:
2016-02-18 11:25 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 10:41:42AM +0100, John Obaterspok wrote:
2016-02-18 10:13 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 08:49:38AM +0100, John Obaterspok wrote:
Hello,
I'm using virt-manager on my F23 box to run a Windows 10 image but the performance is so bad it's killing me.
I have "vmx" flag in /proc/cpuinfo
# lsmod |grep kvm kvm_intel 167936 6 kvm 503808 1 kvm_intel
virtio-win-0.1.112-1.noarch
But no virtio modules loaded. Should they be loaded nowadays?
Not on the host AFAIK.
The disk format used is vmdk with no caching and native mode.
The io is 100% in windows task manager performing less than 1MB/s
Any clues?
What are the figures from the host? What is qemu doing and what are the other processes and devices doing?
What is the best way to find this out?
{,a,h}top should do for the initial runs, just to see if the block layer is busy or the CPU is busy or something else is blocking it
atop seems to indicate that sdd is busy?
DSK | sdd | busy 96% | | read 1455 | write 1319 | KiB/r 5 | KiB/w 9 | | MBr/s 0.74 | MBw/s 1.26 | avq 1.01 | | avio 3.43 ms |
# mount | grep sdd /dev/sdd2 on /vm type ext4 (rw,relatime,seclabel,data=ordered)
And it doesn't do that in any other process on the host? It looks like it's not related to virtualisation...
guest configuration is below:
<domain type='kvm'> <name>win10-box</name> <uuid>d4a67adb-5d30-42f8-b8c6-d3c4598700f2</uuid> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>4</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-2.4'>hvm</type> </os> <features> <acpi/> <apic/> <pae/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> <kvm> <hidden state='on'/> </kvm> <vmport state='off'/> </features> <cpu mode='host-model'> <model fallback='allow'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> <timer name='hypervclock' present='yes'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <pm> <suspend-to-mem enabled='no'/> <suspend-to-disk enabled='no'/> </pm> <devices> <emulator>/usr/bin/qemu-kvm</emulator> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/usr/share/virtio-win/virtio-win.iso'/> <target dev='hda' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='vmdk' cache='none' io='native'/> <source file='/vm/storage/win10-box.img'/> <target dev='vda' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/> </controller> <controller type='usb' index='0' model='ich9-uhci2'> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </controller> <interface type='direct'> <mac address='52:54:00:cc:f0:31'/> <source dev='eno1' mode='bridge'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='spice' autoport='yes'/> <sound model='ich6'> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </sound> <video> <model type='vga' vram='16384' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </memballoon> </devices> </domain>

2016-02-18 15:15 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 12:59:52PM +0100, John Obaterspok wrote:
2016-02-18 11:25 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 10:41:42AM +0100, John Obaterspok wrote:
2016-02-18 10:13 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 08:49:38AM +0100, John Obaterspok wrote:
Hello,
I'm using virt-manager on my F23 box to run a Windows 10 image but the performance is so bad it's killing me.
I have "vmx" flag in /proc/cpuinfo
# lsmod |grep kvm kvm_intel 167936 6 kvm 503808 1 kvm_intel
virtio-win-0.1.112-1.noarch
But no virtio modules loaded. Should they be loaded nowadays?
Not on the host AFAIK.
The disk format used is vmdk with no caching and native mode.
The io is 100% in windows task manager performing less than 1MB/s
Any clues?
What are the figures from the host? What is qemu doing and what are the
other processes and devices doing?
What is the best way to find this out?
{,a,h}top should do for the initial runs, just to see if the block layer
is busy or the CPU is busy or something else is blocking it
atop seems to indicate that sdd is busy?
DSK | sdd | busy 96% | | read 1455 | write 1319 | KiB/r 5 | KiB/w 9 | | MBr/s 0.74 | MBw/s 1.26 | avq 1.01 | | avio 3.43 ms |
# mount | grep sdd /dev/sdd2 on /vm type ext4 (rw,relatime,seclabel,data=ordered)
And it doesn't do that in any other process on the host? It looks like it's not related to virtualisation...
Hi, I changed from vmdk to raw and the Write performance went from 1.6 MB/s to ~100 MB/s Is vmdk write performance so bad? Result: http://postimg.org/image/gcqe5affn/ -- john

Qemu can work with vmdk but some features of vmdk aren’t used. So I can understand vmdk is slow. Best practice: 1. Use LVM is you can (harder to transfer/copy images) 2. Alternative raw-file for speed (but you lose functionalities) 3. Qcow for functionality in a file image (snapshots, compression,…) I think other formats are supported for compatibility reasons in testing and migration scenarios, not for production environments. Van: libvirt-users-bounces@redhat.com [mailto:libvirt-users-bounces@redhat.com] Namens John Obaterspok Verzonden: vrijdag 19 februari 2016 7:16 Aan: Martin Kletzander CC: libvirt-users@redhat.com Onderwerp: Re: [libvirt-users] Sluggish performance with virtio and Win10 2016-02-18 15:15 GMT+01:00 Martin Kletzander <mkletzan@redhat.com<mailto:mkletzan@redhat.com>>: On Thu, Feb 18, 2016 at 12:59:52PM +0100, John Obaterspok wrote: 2016-02-18 11:25 GMT+01:00 Martin Kletzander <mkletzan@redhat.com<mailto:mkletzan@redhat.com>>: On Thu, Feb 18, 2016 at 10:41:42AM +0100, John Obaterspok wrote: 2016-02-18 10:13 GMT+01:00 Martin Kletzander <mkletzan@redhat.com<mailto:mkletzan@redhat.com>>: On Thu, Feb 18, 2016 at 08:49:38AM +0100, John Obaterspok wrote: Hello, I'm using virt-manager on my F23 box to run a Windows 10 image but the performance is so bad it's killing me. I have "vmx" flag in /proc/cpuinfo # lsmod |grep kvm kvm_intel 167936 6 kvm 503808 1 kvm_intel virtio-win-0.1.112-1.noarch But no virtio modules loaded. Should they be loaded nowadays? Not on the host AFAIK. The disk format used is vmdk with no caching and native mode. The io is 100% in windows task manager performing less than 1MB/s Any clues? What are the figures from the host? What is qemu doing and what are the other processes and devices doing? What is the best way to find this out? {,a,h}top should do for the initial runs, just to see if the block layer is busy or the CPU is busy or something else is blocking it atop seems to indicate that sdd is busy? DSK | sdd | busy 96% | | read 1455 | write 1319 | KiB/r 5 | KiB/w 9 | | MBr/s 0.74 | MBw/s 1.26 | avq 1.01 | | avio 3.43 ms | # mount | grep sdd /dev/sdd2 on /vm type ext4 (rw,relatime,seclabel,data=ordered) And it doesn't do that in any other process on the host? It looks like it's not related to virtualisation... Hi, I changed from vmdk to raw and the Write performance went from 1.6 MB/s to ~100 MB/s Is vmdk write performance so bad? Result: http://postimg.org/image/gcqe5affn/ -- john

On Fri, Feb 19, 2016 at 07:16:12AM +0100, John Obaterspok wrote:
2016-02-18 15:15 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 12:59:52PM +0100, John Obaterspok wrote:
2016-02-18 11:25 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 10:41:42AM +0100, John Obaterspok wrote:
2016-02-18 10:13 GMT+01:00 Martin Kletzander <mkletzan@redhat.com>:
On Thu, Feb 18, 2016 at 08:49:38AM +0100, John Obaterspok wrote:
Hello,
> > I'm using virt-manager on my F23 box to run a Windows 10 image but the > performance is so bad it's killing me. > > I have "vmx" flag in /proc/cpuinfo > > # lsmod |grep kvm > kvm_intel 167936 6 > kvm 503808 1 kvm_intel > > virtio-win-0.1.112-1.noarch > > But no virtio modules loaded. Should they be loaded nowadays? > > > Not on the host AFAIK.
The disk format used is vmdk with no caching and native mode.
The io is 100% in windows task manager performing less than 1MB/s > > Any clues? > > > What are the figures from the host? What is qemu doing and what are > the > other processes and devices doing?
What is the best way to find this out?
{,a,h}top should do for the initial runs, just to see if the block layer
is busy or the CPU is busy or something else is blocking it
atop seems to indicate that sdd is busy?
DSK | sdd | busy 96% | | read 1455 | write 1319 | KiB/r 5 | KiB/w 9 | | MBr/s 0.74 | MBw/s 1.26 | avq 1.01 | | avio 3.43 ms |
# mount | grep sdd /dev/sdd2 on /vm type ext4 (rw,relatime,seclabel,data=ordered)
And it doesn't do that in any other process on the host? It looks like it's not related to virtualisation...
Hi,
I changed from vmdk to raw and the Write performance went from 1.6 MB/s to ~100 MB/s
Now that's interesting! Of course raw will be faster but by 2 orders of magnitude? That seems unreasonably much more than it should be.
Is vmdk write performance so bad?
I can't say, I wouldn't even expect that -- that's why I didn't even suggest it.
It would be worth asking on qemu-devel, so I'm adding them Cc. Question is, was that something wrong with the initial setup that hindered the performance of the machine or is it just that vmdk performace is bad? What could we check so that we can hint users in a better direction performance-wise? Martin For a full reference, here is the original thread: https://www.redhat.com/archives/libvirt-users/2016-February/msg00048.html

On Fri, Feb 19, 2016 at 08:50:12AM +0100, Martin Kletzander wrote:
On Fri, Feb 19, 2016 at 07:16:12AM +0100, John Obaterspok wrote:
I changed from vmdk to raw and the Write performance went from 1.6 MB/s to ~100 MB/s
Now that's interesting! Of course raw will be faster but by 2 orders of magnitude? That seems unreasonably much more than it should be.
Is vmdk write performance so bad?
I can't say, I wouldn't even expect that -- that's why I didn't even suggest it.
The only native formats in QEMU are raw, qcow2, and qed. They support parallel I/O. All other formats are only suitable for qemu-img convert so you can import/export images. Depending on the workload there can be a large performance difference. Stefan
participants (4)
-
Dominique Ramaekers
-
John Obaterspok
-
Martin Kletzander
-
Stefan Hajnoczi