Recently upon setting up a new server environment for a client, I noticed that workstations had rather poor performance when accessing data from an SMB on the File and Print server. Transferring of data to the file server was rather slow, and opening up .exes from the network took ~50 seconds before I was prompted to run the application (not acceptable). All servers were Server 2012 R2, and it was running on a Dell R430 with Hyper-V. All the NICs are Broadcom, and the drivers were fully up to date.
After looking into this issue, I discovered that some settings on the Network Adapters needed to be changed. When checking the properties of the network adapter (in this case I had two NICs in a team, so I had to do it on both of them), go to Advanced, and set the following items to Disabled:
- Large Send Offload V2 (IPv4)
- Large Send Offload V2 (IPv6)
- TCP/UDP Checksum Offload (IPv4)
- TCP/UDP Checksum Offload (IPv6)
- Virtual Machine Queues
Keep in mind that when doing this, it will drop off the network adapter for about 10 seconds. If you’re doing this on a live Virtual Host, make sure you only do it to one adapter, and wait for the adapter to come back up online, and ensure the NIC Team is fully active again before performing this on the second NIC. This will ensure you don’t lose network connectivity to the host, and subsequently to the Virtual Machines.
After doing this for both NICs, I tested netowrk connectivity, and it was considerably faster. Even just loading the file structure on a network drive was immediate, rather than a 1-2 second wait. Testing it out on the same .exe that I had issues with before, it’s gone from opening in ~50 seconds, to opening in ~1-2 seconds.