[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-discuss] Windows guest to linux host network performance
From: |
Chris Dunlop |
Subject: |
[Qemu-discuss] Windows guest to linux host network performance |
Date: |
Thu, 20 Feb 2014 14:46:50 +1100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Hi,
What sort of network transfer rates should I be expecting between a
windows guest (e.g. w2012r2) and it's linux host, and what can I do to
diagnose any issues and improve the transfer rate?
I'm getting very slow network transfer rates between a windows guest
(wguest) and it's linux host, e.g.:
7.95 Mbit/sec <<< wguest to host
983 Mbit/sec <<< host to wguest
By comparison, this is an identically configured linux guest (lguest) on
the same host:
12.5 GBit/sec <<< lguest to host
14.9 GBit/sec <<< host to lguest
Yes, that's Mbit/s for windows and Gbit/s for linux, i.e. 3 orders of
magnitude difference!
The host is:
2 x Xeon E5620 2.4GHz, 96GB
debian wheezy
linux-3.10.25
libvirt-1.2.1
qemu-1.7.0 (also tried 1.5, same results)
openvswitch-2.0.1 (also tried standard bridging, same results)
The linux guest is stock debian wheezy. The windows guest is w2012r2.
The guests are running identical qemu configs (generated by libvirt),
including using tap/virtio networking, e.g.:
qemu-system-x86_64 \
-enable-kvm \
-name nettest \
-S \
-machine pc-i440fx-1.5,accel=kvm,usb=off \
-cpu qemu64,hv_relaxed \
-m 4096 \
-realtime mlock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
-no-user-config \
-nodefaults \
-chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/nettest.monitor,server,nowait \
-mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=localtime \
-no-shutdown \
-boot strict=on \
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \
-drive
file=rbd:rbd/nettest:id=vm_otn:key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==:auth_supported=cephx\;none,if=none,id=drive-virtio-disk0,format=raw,cache=writeback
\
-device
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
\
-netdev tap,fd=27,id=hostnet0,vhost=on,vhostfd=28 \
-device
virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:41:c9:63,bus=pci.0,addr=0x3
\
-chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \
-chardev
socket,id=charchannel0,path=/var/lib/libvirt/qemu/nettest.agent,server,nowait \
-device
virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0
\
-device usb-tablet,id=input0 \
-vnc 127.0.0.1:1 \
-device VGA,id=video0,bus=pci.0,addr=0x2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7
The virtio net driver is:
Driver Provider: Red Hat Inc.
Driver Date: 2013-11-20
Driver Version: 61.65.104.7400
Oddly enough (to me), the transfer rate between the windows guest and
Linux guest (on the same host) is much better than the transfer rate
between the windows guest and the host:
2.98 GBit/sec wguest to lguest
1.88 GBit/sec lguest to wguest
Windows guest to another windows guest is also very poor, although
likewise (and surprisingly) faster than windows guest to host:
65.7 Mbit/sec wguest (w2012r2) to wguest2 (w2008r2)
85.9 Mbit/sec wguest2 (w2008r2) to wguest (w2012r2)
I've also tested with w2008r2, and with an e1000 device instead of
virtio, with similar results, e.g.:
9.27 Mbit/sec wguest to host, e1000
806 Mbit/sec host to wguest, e1000
I also tried 4KB jumbo packets with both virtio and e1000 devices (the
vnet interfaces on the host are MTU:9000), which halved (i.e. bad!) the
wguest->host rate and improved the host->wguest rate:
4.18 Mbit/sec <<< wguest to host, e1000, Jumbo-4088
1.25 GBit/sec <<< host to wguest, e1000, Jumbo-4088
3.60 Mbit/sec <<< wguest to host, virtio, Jumbo-4088
1.43 GBit/sec <<< host to wguest, virtio, Jumbo-4088
The transfer rates are measured using basic iperf:
server# iperf -s
client# iperf -c ${server} -i 5 -t 60
Cheers,
Chris
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-discuss] Windows guest to linux host network performance,
Chris Dunlop <=