All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gordan Bobic <gordan@bobich.net>
To: kvm@vger.kernel.org
Subject: Re: virtio disk slower than IDE?
Date: Sun, 15 Nov 2009 22:47:59 +0000	[thread overview]
Message-ID: <4B00851F.5060206@bobich.net> (raw)
In-Reply-To: <4AFFFF0D.3090608@redhat.com>

Dor Laor wrote:
> On 11/15/2009 02:00 PM, Gordan Bobic wrote:
>> Dor Laor wrote:
>>> On 11/14/2009 04:23 PM, Gordan Bobic wrote:
>>>> I just tried paravirtualized virtio block devices, and my tests show
>>>> that they are approximately 30% slower than emulated IDE devices. I'm
>>>> guessing this isn't normal. Is this a known issue or am I likely to 
>>>> have
>>>> mosconfigured something? I'm using 64-bit RHEL/CentOS 5 (both host and
>>>> guest).
>>>
>>> Please try to change the io scheduler on the host to io scheduler, it
>>> should boost your performance back.
>>
>> I presume you mean the deadline io scheduler. I tried that (kernel
>> parameter elevator=deadline) and it made no measurable difference
>> compared to the cfq scheduler.
> 
> What version of kvm do you use? Is it rhel5.4?

It's RHEL 5.4.

$ rpm -qa | grep -i kvm
kmod-kvm-83-105.el5_4.9
kvm-83-105.el5_4.9



> Can you post the qemu cmdline and the perf test in the guest?

Here is what is in the libvirt log:

For IDE emulation:

LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin HOME=/root USER=root 
LOGNAME=root /usr/libexec/qemu-kvm -S -M pc -m 2048 -smp 4 -name 
RHEL_5_x86-64 -uuid cb44b2c5-e64b-848f-77af-f8e7f02fa2ca 
-no-kvm-pit-reinjection -monitor pty -pidfile 
/var/run/libvirt/qemu//RHEL_5_x86-64.pid -boot c -drive 
file=/var/lib/libvirt/images/RHEL_5_x86-64.img,if=ide,index=0,boot=on 
-net nic,macaddr=54:52:00:5a:67:4b,vlan=0,model=e1000 -net 
tap,fd=15,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb 
-vnc 127.0.0.1:0 -k en-gb

For virtio:

LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin HOME=/root USER=root 
LOGNAME=root /usr/libexec/qemu-kvm -S -M pc -m 2048 -smp 4 -name 
RHEL_5_x86-64 -uuid cb44b2c5-e64b-848f-77af-f8e7f02fa2ca 
-no-kvm-pit-reinjection -monitor pty -pidfile 
/var/run/libvirt/qemu//RHEL_5_x86-64.pid -boot c -drive 
file=/var/lib/libvirt/images/CentOS_5_x86-64.img,if=virtio,index=0,boot=on 
-net nic,macaddr=54:52:00:5a:67:4b,vlan=0,model=e1000 -net 
tap,fd=15,script=,vlan=0,ifname=vnet0 -serial pty -parallel none -usb 
-vnc 127.0.0.1:0 -k en-gb

The test is building the Linux kernel (only taking the second run to 
give the test the benefit of local cache):

make clean; make -j8 all; make clean; sync; time make -j8 all

This takes about 10 minutes with IDE disk emulation and about 13 minutes 
with virtio. I ran the tests multiple time with most non-essential 
services on the host switched off (including cron/atd), and the guest in 
single-user mode to reduce the "noise" in the test to the minimum, and 
the results are pretty consistent, with virtio being about 30% behind.

> Lastly, do you use cache=wb on qemu? it's just a fun mode, we use 
> cache=off only.

I don't see the option being set in the logs, so I'd guess it's whatever 
qemu-kvm defaults to.

Gordan

  reply	other threads:[~2009-11-15 22:47 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-14 14:23 virtio disk slower than IDE? Gordan Bobic
2009-11-15  9:51 ` Dor Laor
2009-11-15 12:00   ` Gordan Bobic
2009-11-15 13:15     ` Dor Laor
2009-11-15 22:47       ` Gordan Bobic [this message]
2009-11-16 16:40         ` john cooper
2009-11-16 18:11         ` Charles Duffy
2009-11-16 21:09           ` Dor Laor
  -- strict thread matches above, loose matches on Subject: below --
2009-11-16 16:53 john cooper
2009-11-17  1:14 ` Gordan Bobic

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=4B00851F.5060206@bobich.net \
    --to=gordan@bobich.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.