Weird network performance issue under Hyper-V

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

coolrunnings82

Active Member
Mar 26, 2012
407
92
28
Environment:
Dell T30
Onboard Intel 219-LM NIC
E3 1225 V5
16gb RAM
500gb Crucial MX500 for host OS
1tb Samsung 860 EVO for single VM

Running Server 2019 Essentials with no additional roles than Hyper-V. Single VM running 2019 Essentials. Allocated 2 vCPUs (tried it with 4, no difference), 10gb of RAM, and a 127gb C drive and 750gb E drive. Both are located on the 860 EVO.

Problem: In the VM, when copying files around, everything is speedy gonzales with no problems at all. If I try accessing those files over the network from another machine, performance drops off a cliff and files copy at approximately 1MB/s max.

What I've tested:
  • Ensured network was connecting at Gigabit.
  • Turned off VM Queues
  • Tried a new virtual switch with a USB gigabit nic.
  • Tried mapping a drive locally on the VM itself and copying files. It performs super poorly here just like it did when trying to access a file from an external workstation.
  • Tried mapping a drive to the loopback adapter \\localhost\data\crap and copying files. This gives the same behavior where file copies are excruciatingly slow.
I looked at CPU usage when copying files and it seems abnormally high - around 50-80% of the CPU usage when viewed from within the VM.

I'm at a loss here as to why the performance is so awful over anything related to networking! Any ideas of what I may have missed or can try?
 

Marsh

Moderator
May 12, 2013
2,644
1,496
113
I have a similar problem.

Windows 8.1 is the file server VM, host is Windows 2016 server , Network card is Intel 218-v.

I google and tried all the fix, the W8.1 VM file sharing would behave badly ( very slow ).
I updated the host Intel network driver, it help a little bit , network problem happen infrequently.

When network slowness between W8.1 VM and the rest of the world and Windows 2016 host.
I disable and re-enable the host network card, then the problem would go away for a while.
 

coolrunnings82

Active Member
Mar 26, 2012
407
92
28
I think I may have figured this out. Still doing checking but I think it's Windows Defender scanning the files and making CPU usage go nuts.
 

coolrunnings82

Active Member
Mar 26, 2012
407
92
28
Correction. It's not Windows defender. Went bare-metal and all is good. I'm starting to hate Microsoft's lack of QC.
 

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,625
2,043
113
:( I hope you find this and share with us how to resolve.
 

coolrunnings82

Active Member
Mar 26, 2012
407
92
28
Hahaha, yeah I know I know. "Starting" was a euphemism. Why not ESXi? Size of environment. If VMWare hadn't crippled the free version by not allowing API access I'd be all over that but I need to be able to do orderly shutdowns via a UPS and back VMs up with Veeam. That rules out ESXi as their pricing clearly indicates they want nothing to do with SMB.

In this case though, I believe I've got it figured out. After much testing I found that this client runs a line of business application that not only requires SMB 1.0 (FML, really?), but seems to add in some registry keys into Lanmanserver and Lanmanworkstation that cause the issue. I rebuilt everything on bare metal and tested performance and it worked perfectly. However, immediately upon that software being installed, it caused the issues with SMB performance. The name of the software in question is Waterflex - a LOB app for this customers water filter type business. It's a case study in why you shouldn't sell software if you're not willing to at least keep up with modern security practices. I'll get off my soapbox now but figured I'd share what the issue was. Wish I had taken a backup before installing that app so I didn't have to rebuild the domain for the umpteenth time... Unfortunately I don't know all the changes made by that software to be able to undo them. Going to try to put it on its own little workstation so it can't screw with the file server.