I am using Hyper-V on a Surface Pro which runs Windows 10 (build 17134). There is a single guest VM running the latest Debian for development. This is a high spec Surface with 1TB SSD, i7 and 16GB RAM.
Network interfaces are built in:
- "Marvell AVASTAR" wireless adapter, driver
mrvlpcie8897.sys(version 15.68.9120.47, 18/10/2017).
- "Surface Ethernet Adapter", driver
msux64w10.sys(version 10.4.124.2017, 27/02/2017).
Drivers are from Windows Update and the system firmware is up-to-date.
Network performance to the VM seems to be poor, especially when the host is connected to a wireless network. Please note this is internal network performance, between the host and virtual machine. Traffic is not exiting the host onto other networks.
Tests with ping
Statistics with networking disabled (no wired dock or wireless connection):
Ping statistics for 172.19.2.236: Packets: Sent = 1000, Received = 998, Lost = 2 (0% loss)
Versus statistics connected to a local wireless network:
Ping statistics for 172.19.2.236: Packets: Sent = 1000, Received = 958, Lost = 42 (4% loss)
Both tests were carried out sequentially under the same load, they are repeatable. The host is not stretched for performance. Two lost packets is unusual for a virtualised network, but 4% loss is remarkable. Before migrating to Hyper-V the same host ran multiple Windows & Linux VMs under VMware Workstation with no issue.
A typical sequence looks like:
Reply from 172.19.2.236: bytes=32 time<1ms TTL=64 Request timed out. Reply from 172.19.2.236: bytes=32 time=1976ms TTL=64
The 2 second pause is evident as the console appears to freeze and forwarded X sessions become unresponsive. This makes interactive sessions frustrating, but not quite unusable.
Hyper-V networking information
The default virtual switch is used, which provides NAT to the internet. No changes have been made to network settings inside Hyper-V.
I have tried disabling the Virtual Machine Queue (VMQ) feature, which made no measurable difference.
Debugging inside VM
Debugging inside the VM shows that eth0 appears to connect regularly, suggesting the VM networking resets or temporarily disconnects:
Jun 7 21:35:34 vm NetworkManager: <info> [1528403734.3473] device (eth0): carrier: link connected
Note the poor performance happens even when NetworkManager is not running.
Separately I have found that connections are reset when the host connections change, for example moving from wired to wireless or joining a VPN. In comparison to other hypervisor products this seems unusual.
Can anybody suggest further diagnostics or a potential solution for this performance?