RDC is fast to host, slow to VMs (Hyper-V)

hyper-vremote desktopwindows-server-2008-r2

Why is remote desktop so much faster (clicking UI elements, dragging/dropping, even the Start Menu opening/searching!) to the HOST OS, instead of to its virtual machines?

With several servers that I've connected both to the HOST OS and Guest OS in many Hyper-V setups, the virtual machines all seem very very slow while the HOST OS just flies, like it should.

The only thing I can figure is in all of these environments (4 of them across 3 networks), they all share the same NIC between the HOST and all VMs, even though Microsoft's recommendation is to have 2 NICs – one for the Host OS, and one or more for the Virtual Machine(s).

If this is the case, I can test this easily on my home network where I have my home server with Windows 2008 Server R2 running Windows Home Server in a Hyper-V. But, I don't want to spend the money for a good gigabit card if that is not the reason – hence, the reason for this question.

Thank you in advance!

Best Answer

Disable 'IPv4 Checksum Offload' on the virtual network adapter:

https://nicholasrogoff.wordpress.com/2010/09/24/

The virtual network switch in Hyper-V Server 2008 R2 supports syntetic and legacy interfaces. The syntetic nics will perfom better than the emulated legacy type, but it requires Hyper-V Integration Services to run on the guest VM. The integration components are fully supported in Windows Server 2003 SP2 and later versions of Windows.

http://www.virtualizationadmin.com/articles-tutorials/microsoft-hyper-v-articles/general/windows-server-2008-hyper-v-integration-services.html

BTW: there is a slight difference in using Remote Desktop to guest VMs and remoting with vmconnect.exe. Both use the RDP protocol (the software is based on the same library), but vmconnect.exe connects to the host environment which tunnels the communication to the guest.