KVM network performance: latency vs throughput, do I have to decide?

I just did more test with my KVM guests, just to make sure that I got the same setup.

I have two servers (IMS blades), running 2.6.32 (pvetest with kvm 0.14), KVM virtio network. On the second blade I run a KVM guest, e.g. Ubuntu 10.10. now, I am doing iperf tests from this guest to the first blade.

results in both directions: 940 Mbits/sec (I have only Gbit LAN in my IMS so its just perfect)

so where is the difference in our tests?
Hi Tom,
that's strange!
I move the test-VM (squeeze) to the second node in the cluster (host-c) which is only a testmachine with intel-NIC and get also normal values:
virtio-driver
host-a -> vm: 939 Mbits/s
vm -> host-a: 941 Mbits/s

back on host-b (with solarflare-10GB-Nic):
host-a -> vm: 1.71 Gbits/s
vm -> host-a: 148 Kbits/s

Very strange! The host host-b should be powerfull enough: supermicro board with 4*Opteron 6136 and 64GB Ram.
Perhaps the sfc-module from the solarflare-cards, but the speed between hosts are good (all the same network), and with e1000 it's also not too bad...

Can i do further tests?

Udo
 
we just uploaded a new 2.6.32 kernel (pvetest), but I have no hint that this kernel helps in your case - but as always, testing is welcome.
 
there is also a new 2.6.35 in the pvetest since a few days.
 
there is also a new 2.6.35 in the pvetest since a few days.
Hi Tom,
yes but i should have them already:
Code:
pveversion -v
pve-manager: 1.7-12 (pve-manager/1.7/5490)
running kernel: 2.6.35-1-pve
proxmox-ve-2.6.35: 1.7-10
pve-kernel-2.6.32-4-pve: 2.6.32-31
pve-kernel-2.6.35-1-pve: 2.6.35-10
pve-kernel-2.6.18-4-pve: 2.6.18-10
qemu-server: 1.1-29
pve-firmware: 1.0-10
libpve-storage-perl: 1.0-16
vncterm: 0.9-2
vzctl: 3.0.24-1pve4
vzdump: 1.2-11
vzprocps: 2.0.11-1dso2
vzquota: 3.0.11-1
pve-qemu-kvm: 0.14.0-2
ksm-control-daemon: 1.0-5

Udo
 
I will do these test on other boxes in our lab, maybe I can reproduce something here.
 
My test : two 2008 R2 SP1 VM on same host running 1.7 pvetest.
I have done the test 3 times for each driver :

e1000

[ 3] 0.0-60.2 sec 218 MBytes 30.3 Mbits/sec
[ 3] 0.0-60.1 sec 472 MBytes 65.9 Mbits/sec
[ 3] 0.0-60.1 sec 254 MBytes 35.4 Mbits/sec

virtio

[ 3] 0.0-60.4 sec 84.4 MBytes 11.7 Mbits/sec
[ 3] 0.0-60.3 sec 89.9 MBytes 12.5 Mbits/sec
[ 3] 0.0-60.3 sec 89.6 MBytes 12.5 Mbits/sec


I think there is a BIG problem ...
Someone else can make the same test ?
You can freely download an evaluation version here :

http://www.microsoft.com/windowsserver2008/en/us/trial-software.aspx
 
pls specifiy in detail what tests you run - obviously you do not test with iperf.

I suggest you run the same test as others, see first post.
 
Server : iperf --format m --time 60 -s
Client : iperf --format m --time 60 --client SERVER_IP
 
did you benchmark between pve and pvetest? any difference?

can you confirm that its fast as expected with linux guests on your host, e.g. with debian squeeze?

and finally, any difference between different versions of windows?
 
My test : two 2008 R2 SP1 VM on same host running 1.7 pvetest.
I have done the test 3 times for each driver :

e1000

[ 3] 0.0-60.2 sec 218 MBytes 30.3 Mbits/sec
[ 3] 0.0-60.1 sec 472 MBytes 65.9 Mbits/sec
[ 3] 0.0-60.1 sec 254 MBytes 35.4 Mbits/sec

virtio

[ 3] 0.0-60.4 sec 84.4 MBytes 11.7 Mbits/sec
[ 3] 0.0-60.3 sec 89.9 MBytes 12.5 Mbits/sec
[ 3] 0.0-60.3 sec 89.6 MBytes 12.5 Mbits/sec


I think there is a BIG problem ...
Someone else can make the same test ?
You can freely download an evaluation version here :

http://www.microsoft.com/windowsserver2008/en/us/trial-software.aspx

I can confirm these results but not only with this version. I see this bad performance also on the current stable version. I did also test with rtl8139, getting 150 Mbits/sec which is the clear leader in this scenario.

it changes completely if the KVM guests are on different hosts - in this case I see around 600 Mbits/sec with virtio.

again, not seen with Linux guests.

digging deeper ...
 
Can you explain this "it changes completely if the KVM guests are on different hosts - in this case I see around 600 Mbits/sec with virtio."?

So, If Have we more win2k8 guest on same host we need to use rtl network card and not e1000?

I've the same problem.
 
And what about the iperf compatibility with newer Win32 TCP/IP stacks ?

So i decided to make others tests using NTttcp :
http://msdn.microsoft.com/en-us/windows/hardware/gg463264.aspx

Cmd on the receiver : NTttcpr -m 1,0,LOCAL_IP -a 6 -fr -n 60k
And on the sender : NTttcps -m 1,0,REMOTE_IP -a 2 -n 60k

Results :

Thread Realtime(s) Throughput(KB/s) Throughput(Mbit/s) Avg Bytes per Completion
====== =========== ================ ================== ========================
0 31.640 127260.804 1018.086 65533.867
Total Bytes(MEG) Realtime(s) Average Frame Size Total Throughput(Mbit/s)
================ =========== ================== ========================
4026.531840 31.640 1456.328 1018.086
Total Buffers Throughput(Buffers/s) Pkts(sent/intr) Intr(count/s) Cycles/Byte
============= ===================== =============== ============= ===========
61440.000 1941.846 24 3600.54 17.8
Packets Sent Packets Received Total Retransmits Total Errors Avg. CPU %
============ ================ ================= ============ ==========
2764853 169208 0 0 25.08

Not bad :)

I have also try with virtio driver. Result, higher throughput (~x2), lower CPU usage (~10%), but network "crash" and you must stop the guest.
I say stop and not reboot because i can't login with the console, staying on "Welcome" message.
Same result if i try to transfer a big file (iso image for example), network crash

Note : with e1000 driver, network activity didn't work
Note² : I can't test for the moment with guests on different hosts, tom, can you ?
 
there is no "NTttcpr" in this download after installation.

and again, on which platform do YOU test?
 
ok, strange tool, very buggy installation routine...

but finally got it working - not sure yet how to interpret as I have no experience with it but I got similar numbers with e1000 and even better results with virtio. I do not see any crashes running the tool, also copy of DVD iso images does not crash here.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!