VMware Communities
Al_Koch
Enthusiast
Enthusiast
Jump to solution

What is the reduction on bandwidth as a result of running in a VM?

Hello,

I have just recently upgraded my Internet connection to Fiber 1000 Gigabit. When I run a speed test on my host I see speeds that are close to the one Gigabit so that in good. However we do the same measurement from within a VM running on that host I am observing a substantial reduction in bandwidth. Here are some numbers (from www.DSLReports/speedtest):

Having the Windows Note that in the following Firewall On or Off shows no material impact.

D = Down, U = Up

- On the Host:  ***WIN 8***, IE (with no Add-ons), No VPN, only running VMware v15:  Avg. 822Gb D/952Gb U

- In a VM:  ***WIN 7***, Chrome (with no Add-ons), No VPN:  Avg. 476Gb D/912Gb U

- In a VM: ***WIN 10***, Chrome (with no Add-ons), No VPN:  Avg. 785Gb D/838Gb U

From the above averages (of six runs of the speed test) you can see that under Windows 10 there is a meaningful amount of degradation but under Windows 7 the download speed is approximate 50% less than it was on the Host.

I've tried to keep as many variables as I can under control while doing these tests so it would appear that it is VMware that is causing the loss of bandwidth. Can someone confirm that this is to be expected (unfortunately) and also that the performance under Windows 7 is expected to be quite bad relative to under Windows 10?

Also, what can I do to improve the situation (other than upgrade a large collection of Windows 7 machines to Windows 10)?

Thank you.

0 Kudos
1 Solution

Accepted Solutions
wila
Immortal
Immortal
Jump to solution

Hi,

The performance depends on a number of factors.

- use of NAT instead of Bridge tends to be a bit slower.

- use of the default virtual network cards for Win7 / Win10 is also not optimal performance wise.

- network performance in a VM is CPU constrained, if your host does not have sufficient free CPU resources then it will be slower.

If you open the vmx file with Notepad (VM shut down, not open in Workstation Library, preferable with VMware Workstation shut down) then find a line:

ethernet0.virtualDev = "e1000"

This means that the VM is using the intel e1000 network card.

If you change it into an e1000e card then performance is already quite a bit better.

eg:

ethernet0.virtualDev = "e1000e"

The advantage of using the e1000e over a vmware specific card is that windows 10 and windows 7 have drivers for it out of the box.

Another virtual network card you can use is the vmxnet3 one, in this case however the driver is not part of Windows itself and as such this card will only work with VMware Tools installed.

Performance wise this paravirtual NIC should be best though.

Hope this helps,

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva

View solution in original post

0 Kudos
4 Replies
wila
Immortal
Immortal
Jump to solution

Hi,

The performance depends on a number of factors.

- use of NAT instead of Bridge tends to be a bit slower.

- use of the default virtual network cards for Win7 / Win10 is also not optimal performance wise.

- network performance in a VM is CPU constrained, if your host does not have sufficient free CPU resources then it will be slower.

If you open the vmx file with Notepad (VM shut down, not open in Workstation Library, preferable with VMware Workstation shut down) then find a line:

ethernet0.virtualDev = "e1000"

This means that the VM is using the intel e1000 network card.

If you change it into an e1000e card then performance is already quite a bit better.

eg:

ethernet0.virtualDev = "e1000e"

The advantage of using the e1000e over a vmware specific card is that windows 10 and windows 7 have drivers for it out of the box.

Another virtual network card you can use is the vmxnet3 one, in this case however the driver is not part of Windows itself and as such this card will only work with VMware Tools installed.

Performance wise this paravirtual NIC should be best though.

Hope this helps,

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
Al_Koch
Enthusiast
Enthusiast
Jump to solution

Hi Wil,

Thanks for that helpful info.  I will run an experiment by changing to e1000e.  In the meantime would you clarify something?

You said "Performance wise this paravirtual NIC should be best though."  I'm not familiar with the term "paravirtual NIC" so does this refer to the change to e1000e or to vmxnet3?  If it is vmxnet3, would you point me to instructions on how to add that specific network card?

0 Kudos
wila
Immortal
Immortal
Jump to solution

Hi,

Paravirtualization -> Paravirtualization - Wikipedia

NIC -> we techies use NIC for "Network Interface Controller" or also ...Network card

Basically the difference is that if you present an intel e1000e network card to your guest OS that VMware is trying to mimic a real Intel e1000e network card with all of the disadvantages of having to mimic that card.

When using paravirtualization VMware can design the virtual network card and thus does not have to mimic everything of an existing network card. Because of this it is faster.

Using the vmxnet3 virtual network adapter works the same as with the "e1000e" except this time you change the value with "vmxnet3".

That's all.

--

Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
Al_Koch
Enthusiast
Enthusiast
Jump to solution

Hi Wil,

Wow - thanks for telling me about vmxnet3!  I updated the VM where I had run the initial speed tests and instead of averaging in the high 400s down I'm now in the high 600s/low 700s!  (For some reason the upload speed is  not degraded much.)  It's not the high 800s/low 900s I get when I test on the host but I do understand that there's a lot of overhead supporting the VM.  As a result I have updated all my VMs to use this.

I'll mark this as the Correct Answer.

On another item, you had provided some input on my other issue:  "How do I configure VMware Pro WorkStation v15 on a notebook to work with WiFi and keep VM Static IPs?" (https://communities.vmware.com/message/2836854#2836854).  I still don't have an answer to this questions and have posted a very concise question as the last entry in the thread.  Would you perhaps take a look at this and see if you can answer my question there?

In any case, thanks very much for clearing this one up!

0 Kudos