VMware Cloud Community
zeevik
Contributor
Contributor

Network traffic for VMs limited at ~100Mbps ?

Hi.

ESX hosts (HP DL580 G2) are connected to the network using a GbE switch.

Running TCP traffic (using Iperf) between a VM and an external PC, or between two VMs on the same host (same vSwitch or different vSwitch) results with maximum of 100Mbps - 120Mbps.

I would expect to get little less 1Gbps (as there is no disk work involved - pure networking transactions)

Is there a limitaiton ? is there a rate limiter ?

Is somthing with my configuration is wrong ?

Thanks,

Zeevik.

0 Kudos
7 Replies
Craig_Baltzer
Expert
Expert

That is low. I just ran a quick test with iperf 1.7.0 () between a couple of Windows Server 2003 64bit VMs and was seeing around 810Mbps. This was on an ESX 3.5u2 box with the latest client tools installed in the VMs...

I haven't changed anything in the configuration of these VMs, and am using the vSwitch defaults. Have you set any traffic shaping on your vSwitch or Port Group that you're using for your VMs?

0 Kudos
zeevik
Contributor
Contributor

Thanks, Craig.

I ran an Iperf test from the ESX console to an external Linux - resulted with ~500Mbps. So no networking issues.

Now that I know that womething is not working correctly on my system,

Whats's the next steps ?

How can I debug that ?

Does the driver on the vNic matter ? I'm using flexible or e1000 (for Linux)

At lease for me, it does not matter whether it is a Win-XP, Ubuntu, other Linux ... using flexible vNic (only option possible).

Could this be the problem ?

0 Kudos
Craig_Baltzer
Expert
Expert

The first set of tests I ran had one server using the e1000 driver and the other one using flexible. I just re-ran the tests using the vmxnet driver and throughput went up to 1.2Gbps (as would be expected since its a "memory transfer" when the VMs are within the same ESX host). So in my first test the flexible driver was in use as you have in your config., however just on Windows as opposed to Linux. so I don't think the "flexible" vNIC is a problem per se.

Have a quick look at your vSwitch and Port Group configurations just to make sure that there is no Traffic Shaping set on the switches or Port Groups as a starting point...

0 Kudos
Craig_Baltzer
Expert
Expert

Just to confirm, are the VMware Tools installed in the guest VMs that you're using for testing? Which version of ESX and VMware tools are you using? Which OS is in the VMs you're using to test?

0 Kudos
Craig_Baltzer
Expert
Expert

Just one other thought, its prob. not the best idea to use the service console when testing network throughput; there are some old threads talking about built-in performance limits of the service console, and some companies such as Vizioncore have come up with specific workarounds for it. Best to test between two VMs or a VM and a physical server rather than using the service console...

0 Kudos
zeevik
Contributor
Contributor

Thanks for all the help.

I'm using linuxtty as the OS. it has the vmware tools installed.

But, I'm not able to choose any vNic other than flexible.

the VMs' OS is defined as Linux-other-32bit .

(the e1000 I managed to get only by changing the VM's OS to Windows, change driver to e1000, and change OS back).

Any idea how to get the other vNic types to be available ?

Thanks,

Zeevik.

0 Kudos
Craig_Baltzer
Expert
Expert

The enhanced drivers are only available on certain OSs. has the details. You can just flip the OS type to something that supports the other drivers, pick the driver and then set the OS type back (the NICs will be left unchanged), or you can manually edit the .vmx file for your VM and change the NIC to ethernet0.virtualDev="vmxnet" or ethernet0.virtualDev="e1000". This assumes that the necessary drivers are available in your Linux VM

If you're going to edit the .vmx file directly and are using Virtual Center you'll want to do "Remove From Inventory" and then re-add it back after the changes so that the values in VC get in sync with the .vmx...

0 Kudos