VirtualBox

Opened 13 years ago

Closed 8 years ago

#9095 closed defect (obsolete)

Slow traffic between VMs on same host

Reported by: Geoff Nordli Owned by:
Component: network Version: VirtualBox 4.0.8
Keywords: Cc:
Guest type: Windows Host type: Linux

Description (last modified by aeichner)

I upgraded from 3.2.12, which was working fine.

Network traffic to Internet and other VMs (not on the same host) is normal.

Data transfer between VMs on the same host is very, very slow ~16KB/s.

I am using virtio, but have tried using an Intel Pro/1000 MT Desktop (82540EM) adapter as well.

Attachments (3)

grok-ad1-2011-06-21-13-03-00.log (131.0 KB ) - added by Geoff Nordli 13 years ago.
grok-sql1-2011-06-19-17-13-25.log (52.9 KB ) - added by Geoff Nordli 13 years ago.
network traffic screenshot.png (13.5 KB ) - added by Geoff Nordli 13 years ago.

Download all attachments as: .zip

Change History (11)

by Geoff Nordli, 13 years ago

by Geoff Nordli, 13 years ago

by Geoff Nordli, 13 years ago

comment:1 by Aleksey Ilyushin, 13 years ago

Am I correct in my assumption that you are using RedHat virtio drivers in Windows guests? If so what is the version shown in driver properties? Can you install some kind of packet capture tool into one of the guests and do the capture? This one is quite popular: http://www.wireshark.org/

comment:2 by Geoff Nordli, 13 years ago

VirtIO driver is 6.0.209.605.

I have also tried it though with regular Intel drivers and there is no difference.

I sent you the file directly since there is some private information in it.

I think there is a bug somewhere in the vbox networking stack.

If I enable nictrace and dump it to /dev/null, then the performance returns to what it was like before I upgraded from 3.2 series.

comment:3 by Jeroen Massar, 13 years ago

This is all being caused by offloading, which apparently is not implemented in the virtio driver.

In a Linux VM first check with: ethtool -k eth0

if the offloading features are enabled, then just do: ethtool -K eth0 tso off ethtool -K eth0 gso off

And voila all your problems disappear.

As such, please implement offloading in the virtio driver ;)

comment:4 by Jeroen Massar, 13 years ago

Argh, no formatting, let me fix that:

This is all being caused by offloading, which apparently is not implemented in the virtio driver.

In a Linux VM first check with:

ethtool -k eth0

if the offloading features are enabled, then just do:

ethtool -K eth0 tso off
ethtool -K eth0 gso off

And voila all your problems disappear as now the kernel handles this instead of offloading it to the NIC.

As such, please implement offloading in the virtio driver ;)

comment:5 by Geoff Nordli, 13 years ago

If it was due to offloading, then why does setting the nictrace on the VM return the performance?

Why did this only appear after I upgraded from 3.2 to 4.0?

comment:6 by Jeroen Massar, 13 years ago

Run wireshark/tcpdump on the VM and you should see that there are packets with sizes of 2916 bytes or such, this as the kernel just forwards these large packets to the driver which should then chunk them up, which is not happening. As these packets are broken, the kernel has to resend packets and stuff just slows down to a mere halt, as that is how TCP works ;)

Now it might be that you have a different issue than this, but at least try it, as it solved it for me (Mac Host with 2 Linux VMs).

comment:7 by Jeroen Massar, 13 years ago

As you are actually talking about Windows VMs, see http://support.microsoft.com/kb/888750 which showed the same issue but with VirtualPC instead of VirtualBox and shows how to resolve it in Windows by disabling offloading.

comment:8 by aeichner, 8 years ago

Description: modified (diff)
Resolution: obsolete
Status: newclosed

Please reopen if still relevant with a recent VirtualBox release.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use