Hello! I have been experimenting with KVM and have been experiencing poor write I/O performance. I'm not sure whether I'm doing something wrong or if this is just the current state of things.
While writing to the local array on the node running the guests I get about 200MB/s from dd (bs=1M count=1000) or about 90MB/s write performance from iozone (sequencial) when I write to a 2G file with a 16M record length. The node is an 8 disk system using 3ware in a RAID50 configuration. It has 8GB of RAM. The guests get much slower disk access. The guests are using file based backends (tried both qcow2 and raw) with virtio support. With no other activity on the machine, I get about 6 to 7MB/s write performance from iozone with the same test. Guests are running Debian lenny/sid with 2.6.26-1-686. I don't know whether this is because of context switching or what. Again, I'm wondering how I can improve this performance or if there is something I am doing wrong. As a side note, I have also noticed some weirdness with qcow2 files; some windows installations freeze and some disk corruption running iozone on Linux guests. All problems go away when I switch to raw image files though. I realize I take a hit by running file-based backends, and that the tests aren't altogether accurate because with 8GB of RAM, I'm not saturating the cache but they are still very disparate in numbers which concerns me. Finally, does anyone know if KVM is now fully supporting SCSI pass-through in KVM-79? Does this mean that I would vastly reduce context switching by using an LVM backend device for guests or am I misunderstanding the benefits of pass-through? This is the iozone command: # iozone -a -r 16M -g 2g -n 16g -m 2000 KVM command to launch guest: # /usr/bin/kvm -S -M pc -m 1024 -smp 1 -name demo4 \ -uuid 5b474147-f581-9a21-ac7d-cdd0ce881c5c -monitor pty -boot c \ -drive file=/iso/debian-testing-i386-netinst.iso,if=ide,media=cdrom,index=2 \ -drive file=/srv/demo/demo4.img,if=virtio,index=0,boot=on -net \ nic,macaddr=00:16:16:64:e6:de,vlan=0 -net \ tap,fd=15,script=,vlan=0,ifname=vnet1 -serial pty -parallel none \ -usb -vnc 0.0.0.0:1 -k en-us KVM/QEMU versions: ii kvm 79+dfsg-3 ii qemu 0.9.1-8 Node Kernel: 2.6.26-1-amd64 Thanks, -Alexander -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
