← Back to team overview

openstack team mailing list archive

Re: KVM disk performance


On 03/26/2012 01:59 PM, Martin van Wilderen - JDN BV wrote:
> Hi List,
> I have a question about KVM disk performance. We are using Openstack Nova on three machines. These machines have a SSD drive with a dd write performance of about 130mb/s
> Within the instance the write performance is down to about 5 mb/s. When using the allocate trick (dd zero to disk before newfs) we get a performance of 20 mb/s.

Interesting. I presume this performance difference is when growing the allocation.
I.E. without the "dd allocate trick", writes to new files = 5MB/s, but old files = 20MB/s ?

What file did you do the `dd` on exactly and what size was it?

I could do a patch to nova to do something like:

fallocate --version || exit 0
fallocate -l $SIZE "$DISKIMG" || { rm -f "$DISKIMG"; exit 1; }

But only when I get a better understand of your setup.
Note it would need to be optional too, akin to a memory
overcommit like flag.

Note the above change would also give the benefit of
immediate feedback of ENOSPC

> Things a have tried but don't give any extra results are:
> - Settings the disklayout from qcow2 to raw

I'm a bit surprised that had no effect.

> - Settings the cache type in libvirt.xml (writeback, writethrough, none)
> - Switching KSM on and off.
> - Tested with different guests OS, Linux, FreeBSD, Windows.
> Is there someone who had some extra info i can check? Or are there more people with this issue?
> Snippet from libvirt.xml
> <driver type='qcow2'/ cache='writeback'/>
> <source file='/var/lib/nova/instances/instance-00000113/disk'/>
> <target dev='vda' bus='virtio'/>

I'll let others more knowledgeable comment on
general virt IO overheads.