Re: IO on guest is 20 times slower than host

Kurt Yoder
2009-03-25T16:51:48Z

On Mar 25, 2009, at 12:35 PM, Avi Kivity wrote:

> Kurt Yoder wrote:
>>>
>>> I get 141 MB/s on the same test (it only copies to memory
>>> anyway). Is your VM under memory pressure?
>>
>> I don't think so. The host has 128 GB of memory, and even the pre-
>> emptive kernel caching doesn't come close to filling it:
>>
>> me@host:~$ free
>> total used free shared buffers
>> cached
>> Mem: 132043960 1742480 130301480 0 84628
>> 826040
>> -/+ buffers/cache: 831812 131212148
>> Swap: 1048568 0 1048568
>>
>> My /tmp should be physical disk in both cases. To be thorough, I
>> also ran the test while writing the output file to /, and got the
>> same results (5.7 MB/s on guest, 144 MB/s on host).
>
> Your guest is only assigned 256MB though.

I upped the memory on the VM to 1 GB and ran the same test. It
actually got *slower*:

me@guest:~$ free
total used free shared buffers
cached
Mem: 1024224 131324 892900 0 1816
18328
-/+ buffers/cache: 111180 913044
Swap: 488248 0 488248
me@guest:~$ sudo -s
me@guest:~# dd if=/dev/zero of=/bigfile count=100000
100000+0 records in
100000+0 records out
51200000 bytes (51 MB) copied, 22.2141 s, 2.3 MB/s

I ran this three times to make sure it wasn't a fluke, and got those
same rates each time. The guest is now running thus:

root 19915 1 0 Mar24 ? 00:00:00 /usr/sbin/libvirtd -d
nobody 19937 19915 0 Mar24 ? 00:00:00 dnsmasq --keep-in-
foreground --strict-order --bind-interfaces --pid-file --conf-file --
listen-address 192.168.122.1 --except-interface lo --dhcp-leasefile=/
var/lib/libvirt/dhcp-default.leases --dhcp-range
192.168.122.2,192.168.122.254
root 25051 19915 54 12:40 ? 00:05:05 /usr/bin/kvm -S -M
pc -m 1024 -smp 1 -name guest -monitor pty -boot c -drive file=/dev/
HW_RAID/Guest,if=virtio,index=0,boot=on -net
nic,macaddr=52:54:00:ba:e6:db,vlan=0,model=virtio -net
tap,fd=11,script=,vlan=0,ifname=vnet1 -serial none -parallel none -usb
-vnc 127.0.0.1:1