Link to home
Start Free TrialLog in
Avatar of Scott Carpenter
Scott CarpenterFlag for United States of America

asked on

Slow network performance Windows 2008 R2 on VirtualBox

I have a Centos 6 Linux server running VirtualBox with a guest OS runing Windows Server 2008 R2. The network adapter is configured as a bridged adapter (eth0) using the Paravirtualized network (virtio-net).
When I load iperf as a server in the Linux environment on the eth0 adapter, iperf test gives results between 450-900M. When I load iperf in the Windows environment on the same adapter I get 20-50M. The server is running an Access -based database program and the performance is very poor.
Does anyone know of any secrets to better network performance?
ASKER CERTIFIED SOLUTION
Avatar of rindi
rindi
Flag of Switzerland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
e1000 (any of 3 adapters) is supported natively on windows servers
For virtio you need to get latest signed drivers and load them in addition to virtualbox additions
Avatar of Scott Carpenter

ASKER

rindi: I expected a performance hit, but not 10% of the normal bandwidth. This has to be a networking support problem with VirtualBox. I have never tried KVM but it looks like I need to give it a go. I'm also considering biting the financial bullet and going with VMware.

gheist: I have the latest virtio 64 bit driver from Redhat.  Virtualbox says this is the best performing adapter.
"I'm also considering biting the financial bullet and going with VMware."

Why bite the financial bullet? The basic VMware vSphere HyperVisor (or ESXi) is free. You only have to pay if you need all the optional management features. Besides, you can also get trial versions.

But again, KVM is similar, with the difference that you can actually work on the CentOS hosting server at the same time, while ESXi is a dedicated server on which you can only do some very basic tasks directly via the ESXi Console. In that way it is probably closer to m$'s Hyper-V, which you can also use as a fully functional OS directly on the server.
will you try any of the suggestions?
What you have as eth0 on host? I.e. ethtool -i eth0
Action plan:
1) try disabling segmentation offload on guest virtio adapter
2) try disabling checksum offload on guest virtio adapter
3) change to E1000 and attempt same
4) leave them on but disable chimney offload completely in guest (via netsh) - now it does not matter it is virtio or e1000 - just that virtio can exceed gigabit if you have 10GbE physical adapter...

i measured with iperf3 between 2 RHEL6 guests on "internal network" and it got to some 3,5Gbps without any tuning... (on CPU with virtualisation bit)
gheist: I spent a week playing with offloading settings, different adapters, etc. I even connected a USB adapter to bypass the NIC emulation completely. As far as the tests with RHEL and the internal network, I run a lot of machines using Centos guests with no problem. This is a problem with Windows Server 2008 R2 as a guest.
I needed an immediate solution to get them up and running so I loaded the machine in VMware player and it gives me consistantly around 70M. This is still not good performance but it is adequate for the moment.

rindi: I ruled out ESXi and Xenserver because I have other uses for the base OS and didn't want a solution that included its own OS. Now that the office is functional, I'm doing some tests with KVM.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Tried VMware, KVM and VirtualBox. VMware was the smoothest to set up, and KVM and VMware performed better than VirtualBox, but the performance hit on all of them was too much to bear. Dropped virtualization and loaded Windows 2008 R2 directly which solved the performance issue for this client.