Network performance with VMXNET3 on Windows Server 2008 R2
Recently we ran into issues when using the VMXNET3 driver and Windows Server 2008 R2, according to VMWare you may experience issues similar to:
•Poor performance
•Packet loss
•Network latency
•Slow data transfer
The issue may be caused by Windows TCP Stack offloading the usage of the network interface to the CPU.
To resolve this issue, disable the TCP Checksum Offload feature, as well enable RSS on the VMXNET3 driver.
Open the command prompt as administrator and run these commands:
netsh int tcp set global chimney=Disabled netsh int tcp set global autotuninglevel=Disabled netsh int tcp set global congestionprovider=None netsh int tcp set global ecncapability=Disabled netsh int ip set global taskoffload=disabled netsh int tcp set global timestamps=Disabled
To validate type:
netsh int tcp show global
Next we will need to turn on RSS feature on the VMXNET3 driver. To do this open the network connections and adapter settings. Open Control Panel > Network and Internet > Network Connections. Right click on your adapter and select properties.
Click on the Advanced tab and scroll down to find the RSS setting, you will see by default it is set to disabled. Set the drop down to enabled and click ok to save the settings.
If you find there is no change just reset to default.
To reset to default type:
netsh int tcp set global chimney=Enabled netsh int tcp set global autotuninglevel=normal netsh int tcp set global congestionprovider=ctcp netsh int tcp set global ecncapability=Enabled netsh int ip set global taskoffload=Enabled netsh int tcp set global timestamps=Enabled
How to determine whether TCP Chimney Offload is working
When TCP Chimney Offload is enabled in the operating system and in the network adapter, the TCP/IP stack tries to offload suitable TCP connections to the network adapter. To find out which of the currently established TCP connections on the system are offloaded, follow these steps:
Use administrative credentials to open a command prompt.
Type the following command, and then press ENTER:
netstat –t
You receive output that resembles the following:
Active Connections Proto Local Address Foreign Address State Offload State TCP 127.0.0.1:52613 computer_name:52614 ESTABLISHED InHost TCP 192.168.1.103:52614 computer_name:52613 ESTABLISHED Offloaded
In this output, the second connection is offloaded.
One Response to “Network performance with VMXNET3 on Windows Server 2008 R2”
Trackbacks/Pingbacks
- Cleverin | Network performance with VMXNET3 on Windows Server 2008 R2 - […] Network performance with VMXNET3 on Windows Server 2008 R2 […]
I followed these directions on a Server 2008 R2 domain controller / sql server VM, and it knocked out active directory.
I had to restart the AD service to get it to work again!
Beware!