One issue I have fought with repeatedly is the selection of Virtual Network Interfaces (NICs) and configuring them properly for best throughput.

For some reason, the ESXi host always wants to assign the Intel E1000 virtual NIC.  Yet if you do any reading on this, you’ll quickly find that actually using this driver is frowned upon. Exactly why, I can’t remember.  Just don’t use it.

Instead you are supposed to select the VMXNet 3 driver.  This is a fully feature-packed driver and in my experience it does operate very well in Windows environments… but not without some tweaking.

The biggest issue seems to be related to some of the Offload features that are always on by default:

  • IPv4 Checksum Offload – set to Disable
  • Large Send Offload V2 (IPv4) – set to Disable
  • Large Send Offload V2 (IPv6) – set to Disable
  • Receive Side Scaling – set to Disable
  • Recv Segment Coalescing (IPv4) – set to Disable
  • Recv Segment Coalescing (IPv6) – set to Disable
  • TCP Checksum Offload (IPv4) – set to Disable
  • TCP Checksum Offload (IPv6) – set to Disable
  • UPD Checksum Offload (IPv4) – set to Disable
  • UDP Checksum Offload (IPv4) – set to Disable

The other item that can cause issues is the Receive Side Scaling.  Based on what I read, Receive Side Scaling is for when you want to distribute your network connectivity CPU load across all CPU cores.  In theory this should work great, but in practice I have found it doesn’t work very well.  I always turn it off.

I have found not all features for the VMXNET3 adapter are present on older Windows Server installations.  Server 2012 – 2016 have the Receive Side Scaling and Recv Segment Coalescing features where Server 2008 R2 doesn’t.

There are other Offload features that you shouldn’t touch or should ensure they are turned on:

  • Offload IP Options
  • Offload Tagged traffic
  • Offload TCP Options

Particularly with Active Directory, some of these features are actually required for the server to process correctly.

Hope this helps someone else out there who’s struggled constantly with ESXi network efficiency issues. 

  • edited Thursday June 14, 2018 (missing Recv Segment Coalescing and Receive Side Scaling) – encountered abysmal network connectivity on two separate host server VM’s because I missed this the first time around – cost me many hours of painful file copying until I resolved it (again)