Re: Poor Write I/O Performance on KVM-79

Avi Kivity
2009-01-04T13:24:31Z

Alexander Atticus wrote:
> 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.
>

qcow2 will surely lead to miserable performance. raw files are better.
best is to use lvm.

> 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?
>

scsi is much improved in kvm-82 though it still needs a lot more
testing. scsi pass-through is almost completely untested.

What is the kernel version in the guest? IIRC there were some serious
limitations on the request size that were recently removed.

--
error compiling committee.c: too many arguments to function