Recently I got the chance to install and setup Windows 2012 R2 Hyper-V on 3 node cluster with Dell R620 servers. Installation went smoothly and most of the configuration done by based on Windows 2012 R2 Hyper-V best practice check list from Microsoft blog. During the initial testing and performance analyzing time I have noticed very slow network performance inside virtual machine guest OS. Below method helped me to solve the issue and bring back the network speed to normal in Windows 2012 R2 Hyper-V server.
The Dell R620 came with 4 numbers of Gigabit network adapters. I have used Windows 2012 R2 software based teaming to team two physical NICs. Then created a external virtual switch in Hyper-V manager with teamed network adapter. The network performance in the host server through teamed network was excellent, but in guest VMs it was very slow.
Though there are several solutions and suggestions available on the internet to fix this, but the VMQ technique worked for me. After disabling VMQ on physical NICs on host server, the network performance inside virtual machines started performing well. VMQ is one of the great feature to efficiently use network traffic if the host server’s NIC supports VMQ feature.
If the server hardware (NIC) doesn’t support VMQ feature, better disable it before deploying virtual machines, otherwise you will be facing slow network in guest VMs in Windows 2012 R2 Hyper-V.
1) Open properties of physical network card on the server, select Configure.
2) On Advanced tab, select Virtual Machine Queues (VMQ) and disable it as shown below.
It is recommended to restart the host server after making this changes and I’m sure the network performance of virtual machines on Windows 2012 R2 Hyper-V would be back to normal speed.