From: Mathias Klette <mklette@gmail.com>
To: kvm@vger.kernel.org
Subject: Degraded performance with Windows 2008 R2 with applications
Date: Sun, 06 Mar 2011 23:25:12 +0100 [thread overview]
Message-ID: <4D7409C8.1000101@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 3999 bytes --]
Hi list,
I'm not sure if this is the right list, but I have to ask for help on
some performance issues with KVM and Windows 2008 R2.
Windows guest is working properly on a clean install. But once some
applications get installed - especially MSSQL, but others as well -
system becomes pretty unresponsive. In turns, a login to the system can
take several minutes, context menus are opened badly slow and the clock
is not updated correctly which leads to differences of whole hours after
only some few hours uptime. Verifying with performance monitor in
Windows I could only see load on disk IO, not on CPU, memory. From
kvm/qemu point of view: A raw-image stored on a ext4 formatted LVM
volume is used and started with following configurations via libvirt -
see attached.
On the host system runs Debian Squeeze with a custom 2.6.38-rc2-amd64
kernel. Packages kvm, qemu-kvm and qemu-utils have been re-packaged from
source with only slight changes from original Debian source. Versions
following
linux-source-2.6.38-rc2-amd64 (custom kernel)
kvm 1:0.13.60-1
qemu 0.12.5+dfsg-3
qemu-keymaps 0.12.5+dfsg-3
qemu-kvm 0.13.60-1.2
qemu-system 0.12.5+dfsg-3
qemu-user 0.12.5+dfsg-3
qemu-user-static 0.12.5+dfsg-3
qemu-utils 0.13.60-4
libvirt-bin 0.8.6-1
libvirt0 0.8.6-1
I've tested with iozone to compare IO with a linux guest and also to
verify changes made to improve situation - but nothing really helped.
TESTS with "iozone -s 4G -r 256k -c -e":
random
random bkwd record stride
KB reclen write rewrite read reread read
write read rewrite read fwrite frewrite fread freread
disc: host, host fs: ext4
4194304 256 212213 219411 1770921 1778980 1772993
222316 1251443 2427416 1556529 211803 225559 2028445 2033889
disc: host, host fs: ext4, mntopt:
noatime,barrier=0,data=writeback,nobh,commit=100,nouser_xattr
4194304 256 458299 497838 2130939 1981932 1980227
511864 1810650 2556598 1838972 459005 467800 1572550 1576777
guest: debian squeeze, disc type: raw, cache: writeback, host fs: ext3
4194304 256 111340 82813 81190 97227 116749
128444 378383 2384227 79760 170192 117359 88191 96565
guest: windows 2008 r2. disc type: raw, cache: writeback, host fs: ext4
4194304 256 67787 27191 18102 38490 57438
96373 44393 3331227 56250 39590 35381 38925 59479
guest: windows 2008 r2, disc type: raw, cache: writeback, host fs: ext4,
mntopts (see above), guest: win 2008 r2, 2 CPU => 4 CPU, 2G => 8G RAM
4194304 256 25542 55815 675272 634422 655875
34512 1022106 2880516 220929 25342 34893 574888 549021
guest: windows 2008 r2, disc type: raw, cache: writeback, host fs: ext4,
mntopts (see above), guest: win 2008 r2, 2 CPU => 4 CPU, 2G => 8G RAM,
disabled apps:
4194304 256 23842 27387 665746 737001 85355
30551 993698 2966299 67414 27245 29198 83649 575503
4194304 256 23832 25542 662877 85437 652512
30592 840599 3201253 65488 27701 21907 585014 565069
4194304 256 18492 37256 86426 716990 659070
33134 988579 2929210 206683 27324 21285 640326 632402
So, now the questions are: Are any issues known, especially regards
Windows 2008 R2 or hints on further enhancements possible to kvm for
usage with Windows host systems?
Mathias
[-- Attachment #2: xml --]
[-- Type: application/octet-stream, Size: 3325 bytes --]
<domain type='kvm'>
<name>VM-34</name>
<memory>4194304</memory>
<currentMemory>4194304</currentMemory>
<vcpu>4</vcpu>
<os>
<type arch='x86_64' machine='pc-0.12'>hvm</type>
<boot dev='cdrom'/>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/images/VM-34.raw'/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/images/virtio-win-1.1.16.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<alias name='ide0-1-0'/>
<address type='drive' controller='0' bus='1' unit='0'/>
</disk>
<controller type='ide' index='0'>
<alias name='ide0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'>
<mac address='52:54:00:8a:19:bb'/>
<source bridge='br0'/>
<target dev='vnet0'/>
<model type='e1000'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/1'/>
<target port='0'/>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/1'>
<source path='/dev/pts/1'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<input type='tablet' bus='usb'>
<alias name='input0'/>
</input>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0' keymap='de'/>
<video>
<model type='vga' vram='9216' heads='1'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</memballoon>
</devices>
</domain>
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/ QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 -name VM-34 -nodefconfig -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/VM-34.monitor,server,nowait -mon chardev=monitor,mode=readline -rtc base=localtime -boot dc -drive file=/images/VM-34.raw,if=none,id=drive-virtio-disk0,boot=on,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0 -drive file=/images/virtio-win-1.1.16.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=00:00:00:00:00:00 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -device usb-tablet,id=input0 -vnc 0.0.0.0:0 -k de -vga std -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
next reply other threads:[~2011-03-06 22:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-06 22:25 Mathias Klette [this message]
2011-03-07 9:41 ` Degraded performance with Windows 2008 R2 with applications Stefan Hajnoczi
2011-03-07 18:10 ` Mathias Klette
2011-03-07 9:57 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D7409C8.1000101@gmail.com \
--to=mklette@gmail.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox