I have two physical servers with Ubuntu 10.04 server on them. They are connected with a 1Gbps card over a gigabit switch. Each of these host servers has one Win 2008 guest VM. Both VMs are well provisioned (4 cores, 12GB RAM), RAW disks.

My asp.net/sql server applications are running much slower compared to very similar physical setups.

Both machines are setup to use virtio for disk and network. I used iperf to check network performance and I get: Physical host 1 -----> Physical Host 2: 957 Mbits/sec Physical host 1 -----> Win 08 Guest 1: 557 Mbits/sec Win 08 Guest 1 -----> Phy host 1: 182 Mbits/sec Win 08 Guest 1 -----> Win 08 Guest 2: 111 Mbits /sec

My app is running on Win08 Guest 1 and Guest 2 (web and db). There is a huge drop in network throughput (almost 90%) between the two guest. Further the throughput does not seem to be symmetric between host and guest as well.

The CPU utilization on the guests and hosts is less than 2% right now (we are just testing right now).

Apart from this, there have been random slow downs in the network to as low as 1 Mbits/sec making the whole application unusable.

Any help to trouble shoot this would be appreciated.

  1. What host OS is used?
  2. for every one of the NICs ethtool -k $NIC and it's probably a good idea to disable offloads with 'ethtool -K $NIC tso off ; ethtool -K $NIC gso off'
  3. bridged or NAT networking?
  4. Where are the virtio drivers from? Are they signed?
  5. IPv4 or 6?
  6. is ToE enabled in the guests?
  • 1. Host OS: Ubuntu 10.04 2. This is on the host? I did this and got "no offload settings changed". Assuming it is disabled. 3. Bridged. Do you want the config output? 4. From RedHat and they are signed from what I can tell. alt.fedoraproject.org/pub/alt/virtio-win/latest/images 5. IPV4. But I have not disable IPV6 on the host or guest. IPV6 has some random address. Never have paid attention to it till now. 6. I have not done TOE explicitly, so not sure. I check the RedHad VirtIO Ethernet Adapter Propertes, the only thing that could be relates Offloast Tx LSO? – taazaa May 21 '11 at 16:08
  • 1. Can you try on a fedora host? seen ubuntu kvm builds acting up a lot. 2. ethtool -k eth0 - post the output 3. no, bridges is usually good enough. 4. ok 5. ok 6. netsh int tcp set global chimney=disabled check settings afterwards, disable LSO if you see it still on – dyasny May 21 '11 at 20:25
  • 1. I can switch, but it will be some work. Can plan for this. 2. ethtool -k eth0: Offload parameters for eth0: Cannot get device GRO settings: Operation not permitted rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: off generic-segmentation-offload: on generic-receive-offload: off large-receive-offload: off – taazaa May 22 '11 at 3:07
  • Running the netsh int tcp set global chimney=disabled command on windows - should improve performance? I will try it shortly. – taazaa May 22 '11 at 3:09
  • the netsh command will improve IIS -> network performace. On the host, you have TSO and GSO on, you need to turn them off ethtook -K eth0 TSO off and the same for GSO – dyasny May 22 '11 at 5:47

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.