Public bug reported: Hi, Internet performance for Host to Quest is low. The speed Guest to same Guest is 11.3 Gbits/sec The speed Host to same Host is similar (9.8-11 Gbits/sec)
But the speed from Guest to Host is slow and around 1Gbit/sec. In the reality traffic never leave a Host. I expected that in this case speed should be close to Host to Host. It is important for virtual infrastructure when you have several Guests on a same Host. Guest to Guest on a same host has speed around 1 Gbits/sec too. Below you can find testes and additional information: ========================================================================= biouml@biouml-db:~$ iperf -c 192.168.2.31 -t 30 #Guest to Guest ------------------------------------------------------------ Client connecting to 192.168.2.31, TCP port 5001 TCP window size: 49.7 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.31 port 52170 connected with 192.168.2.31 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 39.6 GBytes 11.3 Gbits/sec ============================================================================ biouml@biouml-db:~$ iperf -c 192.168.2.11 -t 30 # Guest to Host ------------------------------------------------------------ Client connecting to 192.168.2.11, TCP port 5001 TCP window size: 43.4 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.31 port 47148 connected with 192.168.2.11 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 3.69 GBytes 1.06 Gbits/sec biouml@biouml-db:~$ ============================================================================ root@s2-8core:~# iperf -c 192.168.2.30 -t 30 #host to guest ------------------------------------------------------------ Client connecting to 192.168.2.30, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.11 port 57403 connected with 192.168.2.30 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 5.47 GBytes 1.57 Gbits/sec ========================================================================== root@s2-8core:~# iperf -c 192.168.2.11 -t 30 #host to host ------------------------------------------------------------ Client connecting to 192.168.2.11, TCP port 5001 TCP window size: 49.7 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.11 port 38313 connected with 192.168.2.11 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 34.5 GBytes 9.87 Gbits/sec root@s2-8core:~# ======================================================================== I am using virtio drivers and virtual machine was started with following parameters: /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 -name one-25 -uuid d1e125ee-d692-4598-3a75-441cd79a513a -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/one-25.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/var/lib/one/OpenNebula/var//25/images/disk.0,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive file=/var/lib/one/OpenNebula/var//25/images/disk.1,if=none,id=drive-virtio-disk3,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk3,id=virtio-disk3 -netdev tap,fd=19,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=02:00:c0:a8:02:02,bus=pci.0,addr=0x3 -usb -device usb-mouse,id=input0 -vnc 0.0.0.0:98 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 ============================================================================= Qemu version: root@s2-8core:~# /usr/bin/kvm --version QEMU emulator version 0.15.92, Copyright (c) 2003-2008 Fabrice Bellard root@s2-8core:~# ls -la /usr/bin/kvm lrwxrwxrwx 1 root root 27 2011-11-07 17:34 /usr/bin/kvm -> /usr/bin/qemu-system-x86_64 ========================================================================== Bridge configuration: root@s2-8core:~# cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto eth1 iface eth1 inet manual auto br0 iface br0 inet static address 192.168.2.11 network 192.168.2.0 netmask 255.255.255.0 broadcast 192.168.2.255 gateway 192.168.2.1 bridge_ports eth0 bridge_stp on bridge_fd 0 bridge_maxwait 0 root@s2-8core:~# root@s2-8core:~# brctl show bridge name bridge id STP enabled interfaces br0 8000.001e8cec6113 yes eth0 vnet0 virbr0 8000.000000000000 yes root@s2-8core:~# brctl --version bridge-utils, 1.5 =============================================================== root@s2-8core:~# uname -a Linux s2-8core 3.0.0-13-server #22-Ubuntu SMP Wed Nov 2 15:09:08 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux ** Affects: qemu Importance: Undecided Status: New -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/899664 Title: Bad internet performance for Host to Guest or Guest to Host Status in QEMU: New Bug description: Hi, Internet performance for Host to Quest is low. The speed Guest to same Guest is 11.3 Gbits/sec The speed Host to same Host is similar (9.8-11 Gbits/sec) But the speed from Guest to Host is slow and around 1Gbit/sec. In the reality traffic never leave a Host. I expected that in this case speed should be close to Host to Host. It is important for virtual infrastructure when you have several Guests on a same Host. Guest to Guest on a same host has speed around 1 Gbits/sec too. Below you can find testes and additional information: ========================================================================= biouml@biouml-db:~$ iperf -c 192.168.2.31 -t 30 #Guest to Guest ------------------------------------------------------------ Client connecting to 192.168.2.31, TCP port 5001 TCP window size: 49.7 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.31 port 52170 connected with 192.168.2.31 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 39.6 GBytes 11.3 Gbits/sec ============================================================================ biouml@biouml-db:~$ iperf -c 192.168.2.11 -t 30 # Guest to Host ------------------------------------------------------------ Client connecting to 192.168.2.11, TCP port 5001 TCP window size: 43.4 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.31 port 47148 connected with 192.168.2.11 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 3.69 GBytes 1.06 Gbits/sec biouml@biouml-db:~$ ============================================================================ root@s2-8core:~# iperf -c 192.168.2.30 -t 30 #host to guest ------------------------------------------------------------ Client connecting to 192.168.2.30, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.11 port 57403 connected with 192.168.2.30 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 5.47 GBytes 1.57 Gbits/sec ========================================================================== root@s2-8core:~# iperf -c 192.168.2.11 -t 30 #host to host ------------------------------------------------------------ Client connecting to 192.168.2.11, TCP port 5001 TCP window size: 49.7 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.2.11 port 38313 connected with 192.168.2.11 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-30.0 sec 34.5 GBytes 9.87 Gbits/sec root@s2-8core:~# ======================================================================== I am using virtio drivers and virtual machine was started with following parameters: /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 -name one-25 -uuid d1e125ee-d692-4598-3a75-441cd79a513a -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/one-25.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -drive file=/var/lib/one/OpenNebula/var//25/images/disk.0,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -drive file=/var/lib/one/OpenNebula/var//25/images/disk.1,if=none,id=drive-virtio-disk3,format=raw -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk3,id=virtio-disk3 -netdev tap,fd=19,id=hostnet0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=02:00:c0:a8:02:02,bus=pci.0,addr=0x3 -usb -device usb-mouse,id=input0 -vnc 0.0.0.0:98 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 ============================================================================= Qemu version: root@s2-8core:~# /usr/bin/kvm --version QEMU emulator version 0.15.92, Copyright (c) 2003-2008 Fabrice Bellard root@s2-8core:~# ls -la /usr/bin/kvm lrwxrwxrwx 1 root root 27 2011-11-07 17:34 /usr/bin/kvm -> /usr/bin/qemu-system-x86_64 ========================================================================== Bridge configuration: root@s2-8core:~# cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto eth1 iface eth1 inet manual auto br0 iface br0 inet static address 192.168.2.11 network 192.168.2.0 netmask 255.255.255.0 broadcast 192.168.2.255 gateway 192.168.2.1 bridge_ports eth0 bridge_stp on bridge_fd 0 bridge_maxwait 0 root@s2-8core:~# root@s2-8core:~# brctl show bridge name bridge id STP enabled interfaces br0 8000.001e8cec6113 yes eth0 vnet0 virbr0 8000.000000000000 yes root@s2-8core:~# brctl --version bridge-utils, 1.5 =============================================================== root@s2-8core:~# uname -a Linux s2-8core 3.0.0-13-server #22-Ubuntu SMP Wed Nov 2 15:09:08 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/899664/+subscriptions