8

I have a HP Proliant ML350 G6 with two integrated Broadcom NetXTreme Gigabit Ethernet ports running Windows server 2016, updated as of today.

If I share a folder on my hyper v host I can add and remove files at around 90MB/s through the network (both ports deliver the exact same speed).

Here you can see the details on the host. enter image description here

The above picture is on the hyper V host. I have added Network 2 to the hyper v switch manager as Network 2.

Here you can see a picture of the Virtual switch manager and the network connection in the guest.

enter image description here

The problem is that when I share a folder from the guest to the network I can only access that folder att 10MB/s. That is, somewhere along the line my gigabit network is being choked down to a measly 100Mbit. I am not using a legacy connection.

It's not the disk, because on the guest I can shuffle files around between the harddrives at around 100MB/s. Picture below is the guest copying files from one drive to another.

enter image description here

So my question is. What must I change in order to get Gigabit speeds from the Hyper V guest to my network as I'm now only getting 100Mbit from the guest to the network.

In all places I've looked it says Gigabit and the host can deliver on it, so why can't the guest?

Edit: So to clarify: Any network PC can access the hyper V host network file shares at ~100MB/s. The host can read the guest network shares at ~100MB/s. If the same PCs that can access the host att 100MB/s try to access the guest they only get 10MB/s speed when accessing any of the hyper V Guests network shares. Why?

Edit 2: As per request here are more details. Red is the host operationg system. Green is inside the Hyper V machine. enter image description here

Another picture of the Guest network settings. enter image description here

21
  • Did you create a Generation 2 virtual machine? Jan 25, 2018 at 19:30
  • Quiet sure of it. How can I confirm this?
    – JensB
    Jan 25, 2018 at 20:32
  • Look at it in Hyper-V Manager? Jan 25, 2018 at 20:42
  • The machine in question is generation 2. There is one gen 1 machine running a linux distro, then 3 other generation two machines. All with the same issue.
    – JensB
    Jan 25, 2018 at 21:47
  • 2
    Take a look at disabling TCP offloading features in the guests: support.rackspace.com/how-to/… Jan 26, 2018 at 6:57

4 Answers 4

4
+100

Verify that you're not using any of the "Legacy NICs" in your Virtual Machines? These are limited to 100mbps. This may be causing the Virtual Network (bound to the physical NIC) to negotiate the lower speed.

Other things to do: - Update NIC drivers - Force 1gbps operation in Device Manager - Replace the patch lead connecting the problem NIC - check cable. Two threads above had a similar problem solved by replacing a cable.

http://forums.whirlpool.net.au/archive/1853355

https://social.technet.microsoft.com/Forums/windowsserver/en-US/60f4924e-2390-4050-a948-7a149376026a/hyperv-host-1gbps-nic-negotiated-at-100-mbps-when-used-for-virtual-switch?forum=winserverhyperv

4
  • 3
    This does not relate to the issue really, Im fully aware that a 1000Mbit can move data at around 100MB/s. This is not the problem. The problem is that Im getting 100Mbit connection to one of the clients hosted on a server that has Gigabit network speed, and when moving data to and from the server (and not the guest VM) I can achieve the 1000Mbit speed (moving at 110MB/s).
    – JensB
    Jan 26, 2018 at 19:55
  • 1
    I am not using legacy network adapters, all the VMs that have this issue are Gen 2. The network adapter and O/S (win 2016) are all fully patched. And when looking in the guest VMs the link states it is 1.0 Gpbs.
    – JensB
    Mar 3, 2018 at 11:29
  • 1
    Force 1gbps operation in Device Manager Disabling autonegoiation and forcing a fixed speed is a bad idea. Autonegotiation is a requirement for gigabit ethernet: Autonegotiation is a requirement for using 1000BASE-T according to Section 28D.5 Extensions required for Clause40 (1000BASE-T). At least the clock source has to be negotiated, as one endpoint must be master and the other endpoint must be slave. Mar 6, 2018 at 17:07
  • 1
    After removing the NICs from the device manager and reinstalling them with the same drivers the issue has been resolved. Before doing this I also replaced all cables along the way (but that alone did not fix the problem). So I dont really know what the problem was, but reinstalling fixed it.
    – JensB
    Mar 10, 2018 at 16:28
0
  1. Run a synthetic network test to check the throughput (e.g. iperf).
  2. Check all links on the way from the server to the client. If there's only one link with 100 Mbit/s (possibly a faulty cable) the stream can't move faster.
  3. Check if there's an updated server NIC driver - the ones coming on the install DVD or through Windows Update may have issues.
1
  • I don't think its the cable or the driver really. Network clients can access the host at 1000Mbit using the same network card and cable.
    – JensB
    Mar 3, 2018 at 20:27
0

I have encountered this problem several times. I suppose it has to do with a quite infamous bug in Broadcom NIC.

I have found essentially two solutions -

First solution - most likely be helpful

Change the properties of your physical nic and Hyper-v switch: disable VMQ : enter image description here

Disable all available "Offload options". TCP/UDP CHECKSUM OFFLASD and so on, all the options with "OFFLOAD" in it should be disabled. Try to disable the same "Offload" options in the guest systems.

Second solution

Download Broadcom drivers from your server manufactured (Dell, HP). follow this https://www.reddit.com/r/sysadmin/comments/2k7jn5/after_2_years_i_have_finally_solved_my_slow/

0

I checked the link status (Get-Netadapter | select interfaceDescription, Name, Linkspeed) on Powershell and found it running on 100Mbps. Changed the speed settings of the port on my network switch where the server is connected to from Auto and forced it to run on speed 1000. This solved my problem. Check if this helps.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .