Hyper-v is a great free hypervisor that allows you to run virtual machines on Windows 8 or Windows Server 2012. I use Hyper-v to power virtual machines that I use for development and testing and recently ran into an issue with very slow network performance on my new system. The host system performed without any issues, but the virtual machines running on top experienced very slow network performance with sporadic moments of high latency.
After much research I determined the issue was a feature of my network adapter called Virtual Machine Queueing (VMQ). Microsoft included support for this feature in Hyper-V as it was designed to ensure virtual machines share the network connection fairly by using a queue on the network adapter. But in my case, a feature that should help performance was actually forcing my network to crawl.
It turns out that there is a fundamental issue with VMQ on systems that have Broadcom network adapters. A simple bing search shows hundreds of complaints. Microsoft even issues a KB article on the topic.
There are a few different fixes available that Microsoft mentions in the KB article, but I am going to show you how to fix it with just a few clicks:
- Click on the Start Button and type in Device Manager and hit Enter.
- Navigate to the Network Adapters section and right click on your Network Adapter and select Properties.
- Click on the Advanced Tab.
- Locate Virtual Machine Queues and set it to Disabled.
- Click OK and repeat the steps above for any additional network adapters you may have in your PC.