Windows Guest Performance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Recently we're testing qemu-kvm to run a windows guest with database installed.
But kvm can't perform in random disk operations.
We're already using vhost_net, virtio drivers. LVM for guest storage
and virtio-blk-data-plane.
There are anything else that we can do to improve the performance?
We are using HammerDB to run our tests.
Here is the guest config:

<domain type='kvm'>
 <name>win2k8r2</name>
 <uuid>1dc53ee7-40f6-447b-b2ed-6c3203289616</uuid>
 <memory unit='KiB'>25600000</memory>
 <currentMemory unit='KiB'>25600000</currentMemory>
 <vcpu placement='static'>7</vcpu>
 <os>
   <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
   <boot dev='hd'/>
 </os>
 <features>
   <acpi/>
   <apic/>
   <hyperv>
     <relaxed state='on'/>
     <vapic state='on'/>
     <spinlocks state='on' retries='8191'/>
   </hyperv>
 </features>
 <cpu mode='host-passthrough'/>
 <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/libexec/qemu-kvm</emulator>
   <disk type='block' device='disk'>
     <driver name='qemu' type='raw' cache='none' io='native'/>
     <source dev='/dev/lvma4/win2k8r2'/>
     <target dev='vda' bus='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
   </disk>
   <disk type='block' device='disk'>
     <driver name='qemu' type='raw' cache='none' io='native'/>
     <source dev='/dev/lvma4/win2k8r2-2'/>
     <target dev='vdb' bus='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
   </disk>
   <disk type='block' device='disk'>
     <driver name='qemu' type='raw' cache='none' io='native'/>
     <source dev='/dev/lvmb1/win2k8r2-1'/>
     <target dev='vdc' bus='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
   </disk>
   <controller type='usb' index='0' model='ich9-ehci1'>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
   </controller>
   <controller type='usb' index='0' model='ich9-uhci1'>
     <master startport='0'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
function='0x0' multifunction='on'/>
   </controller>
   <controller type='usb' index='0' model='ich9-uhci2'>
     <master startport='2'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
   </controller>
   <controller type='usb' index='0' model='ich9-uhci3'>
     <mddress type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
   </controller>
   <controller type='scsi' index='0' model='virtio-scsi'>
     <driver queues='8'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
   </controller>
   <controller type='pci' index='0' model='pci-root'/>
   <controller type='sata' index='0'>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
   </controller>
   <controller type='virtio-serial' index='0'>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
   </controller>
   <interface type='bridge'>
     <mac address='52:54:00:06:64:f9'/>
     <source bridge='br0'/>
     <model type='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
   </interface>
   <input type='mouse' bus='ps2'/>
   <input type='keyboard' bus='ps2'/>
   <graphics type='vnc' port='-1' autoport='yes'>
     <listen type='address'/>
   </graphics>
   <video>
     <model type='cirrus' vram='16384' heads='1' primary='yes'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
   </video>
   <memballoon model='virtio'>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
   </memballoon>
 </devices>
 <qemu:commandline>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk2.config-wce=off'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk2.x-data-plane=on'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk1.config-wce=off'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk1.x-data-plane=on'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk0.config-wce=off'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk0.x-data-plane=on'/>
 </qemu:commandline>
</domain>aster startport='4'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
   </controller>
   <controller type='scsi' index='0' model='virtio-scsi'>
     <driver queues='8'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
   </controller>
   <controller type='pci' index='0' model='pci-root'/>
   <controller type='sata' index='0'>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
   </controller>
   <controller type='virtio-serial' index='0'>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
   </controller>
   <interface type='bridge'>
     <mac address='52:54:00:06:64:f9'/>
     <source bridge='br0'/>
     <model type='virtio'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
   </interface>
   <input type='mouse' bus='ps2'/>
   <input type='keyboard' bus='ps2'/>
   <graphics type='vnc' port='-1' autoport='yes'>
     <listen type='address'/>
   </graphics>
   <video>
     <model type='cirrus' vram='16384' heads='1' primary='yes'/>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
   </video>
   <memballoon model='virtio'>
     <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
   </memballoon>
 </devices>
 <qemu:commandline>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk2.config-wce=off'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk2.x-data-plane=on'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk1.config-wce=off'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk1.x-data-plane=on'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk0.config-wce=off'/>
   <qemu:arg value='-set'/>
   <qemu:arg value='device.virtio-disk0.x-data-plane=on'/>
 </qemu:commandline>
</domain>


Thanks!!!



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux