[vbox-dev] Network adapters speed - possible bug, need insight

Maxime Dor maxime.dor at altherian.org
Thu Apr 25 16:01:16 PDT 2013


Hello people,

For a while now, I have been facing some odd network speed issues with
Virtualbox but wasn't able to pint-point it down... until now !
Please bare with me while I explain this.

To give you some background story, the first time I met this issue was
while testing the speed of a proftpd server running in a Debian Wheezy VM
on a Linux Wheezy host, both 64 bits.
Following the good recommendations of the User Manual aswell as the forum
folks, I decided to set the NIC to VirtIO. I was also doing this speed test
via an OpenVPN connection.
The speed was always stuck at 8 Mbps for some odd reason. A bit out of
time, I discarded this as the VPN's fault, without further investigation.

Some months later, I was installing some software (Sage BOB50) in a Win 7
64 bits VM which requires access to a Sybase DB, running in a Win2k8 R2 64
bits VM.
And disaster happened : for some reason, the software was just terribly
slow and took minutes to open, where between physical machines, it took
seconds.
I was initialy stuck with this issue, searching in the guest OS & in the
software configuration for some answers. After some check, I noticed that
the speed was of 8 Mbps (oh oh).
At that point, I decided to change the adapter types and when both VMs had
the Intel 1000T desktop, it was a revelation. The program now opened in
seconds !

I have finally been around to do some proper speed tests, and they might
not be concluant as such and I will let you, devs especially, decide.
To perform the tests, I have setup 2 Win7 64 bits VMs with 3 adapters each.
Virtualbox version is 4.2.8, on Debian Wheezy with Testing repos.

Each VM adapater was only left with IPv4 enabled, everything disabled.
Static IP were used & NetBios disabled, no other config was changed.

VM 1 has the following :
NIC 1:           MAC: 080027DE6FE9, Attachment: Internal Network
'virtio2virtio', Cable connected: on, Trace: off (file: none), Type:
virtio, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny,
Bandwidth group: none
NIC 2:           MAC: 0800274EBA58, Attachment: Internal Network
'virtio2intel', Cable connected: on, Trace: off (file: none), Type: virtio,
Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth
group: none
NIC 3:           MAC: 080027C92821, Attachment: Internal Network
'intel2intel', Cable connected: on, Trace: off (file: none), Type: 82540EM,
Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth
group: none

VM 2 has the following :
NIC 1:           MAC: 08002780E65C, Attachment: Internal Network
'virtio2virtio', Cable connected: on, Trace: off (file: none), Type:
virtio, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny,
Bandwidth group: none
NIC 2:           MAC: 080027009399, Attachment: Internal Network
'virtio2intel', Cable connected: on, Trace: off (file: none), Type:
82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny,
Bandwidth group: none
NIC 3:           MAC: 080027592203, Attachment: Internal Network
'intel2intel', Cable connected: on, Trace: off (file: none), Type: 82540EM,
Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth
group: none

The idea is to have 3 networks :
- the first with each VM with VirtIO
- the 2nd with only one VirtIO and the 82540EM
- the last with only 82540EM.

Following IPs were given :
virtio2virtio - 10.0.0.1/24 - 10.0.0.2/24
virtio2intel - 10.0.1.1/24 - 10.0.1.2/24
intel2intel - 10.0.2.1/24 - 10.0.2.2/24

Finally, I've run iperf 3 times with 3 different TCP window (2000, 20000,
200000). I have put the results on pastebin to avoid a huge spam :
http://pastebin.com/niPzc1ep

To sum it up :
- virtio2virtio is capped at 8 Mbps average for a TCP window of 2000, same
speed as I saw in my 2 speed issues, has acceptable speed at 20000 but
slows down at 2000000.
- virtio2intel gets faster & faster as the window increase but is still
quite slow from what we could expect (244 Mbps @ 200000)
- intel2intel is the fastest, I get 875 Mbps @ 20000 and 1,3 Gbps @ 200000 !

Am I missing something obvious here? Is it a bug? From the User Manual,
VirtIO should be fastest, but clearly is not and can cause issues.
I haven't had time to perform this under a Linux guest but from my
experience, the issue is the same.
Please let me know if you need more info on my setup.

Best regards,
Max
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20130426/26622a19/attachment.html 


More information about the vbox-dev mailing list