From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Mohr Subject: Networking latency - what to =?UTF-8?Q?expect=3F?= Date: Tue, 27 Nov 2012 16:26:21 -0700 Message-ID: <65e3a10030795eacd577b0fac1a10bb1@de.mcbf.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit To: Return-path: Received: from seeker.mcbf.net ([109.239.49.157]:50064 "EHLO seeker.mcbf.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756507Ab2K0Xvc (ORCPT ); Tue, 27 Nov 2012 18:51:32 -0500 Received: from localhost ([127.0.0.1] helo=de.mcbf.net) by seeker.mcbf.net with esmtp (Exim 4.72) (envelope-from ) id 1TdUXl-0001He-Q9 for kvm@vger.kernel.org; Wed, 28 Nov 2012 00:26:22 +0100 Sender: kvm-owner@vger.kernel.org List-ID: Hi, we were investigating some performance issue that an application on our kvm VMs had and noticed that network latency is much worse in a VM compared to actual hardware. Initially we were using virtio network cards, but not vhost-net. After enabling vhost the performance improved quite a bit, but is still only at around 50% of what the actual hardware can do. The question is, what can we expect? CPU utilization was never higher than 50% kvm and 20% vhost. Other details are below, please let me know if you can recommend other tests or important details that I could provide. I ran the following tests using netperf -t UDP_RR (all results are transactions/sec): * host->host 19k * vm->its host 17k * vm->vm (same host) 22k * vm->vm (diff. hosts) 7k Host: Debian squeeze using a 3.5.2 kernel KVM: 1.1.2 (bpo) Host CPU: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz VM: Debian squeeze using a 3.2.20 kernel Network: e1000 & gigabit switch Command-line: -cpu host -name testvm -m 12288 -smp 16 -pidfile /var/run/ganeti/kvm-hypervisor/pid/testvm -balloon virtio -daemonize -monitor unix:/var/run/ganeti/kvm-hypervisor/ctrl/testvm.monitor,server,nowait -serial unix:/var/run/ganeti/kvm-hypervisor/ctrl/testvm.serial,server,nowait -usbdevice tablet -vnc 127.0.0.1:5102 -netdev type=tap,id=netdev0,fd=8,vhost=on -device virtio-net-pci,mac=52:54:00:00:01:e6,netdev=netdev0 -netdev type=tap,id=netdev1,fd=9,vhost=on -device virtio-net-pci,mac=52:54:00:00:01:e7,netdev=netdev1 -qmp unix:/var/run/ganeti/kvm-hypervisor/ctrl/testvm.qmp,server,nowait -S Thanks, ~David