Many things can cause these issue, here are a few things you can do to improve performance on your Windows Server 2012 VPS on Hyper-V.
- Make sure both your switch and NIC are set to the same speed, Auto can cause lots of issues.
Jumbo Packet / Jumbo Frames should be disabled in most cases for best performance.
Receive Buffers can be increased in increments of 64 if you have sufficient system memory to support the increase. Maximum is generally 2048 or 8MB for VPS.
Transmit Buffers can be increased to provide improved performance. Maximum is generally 16384 or 8MB for VPS.
Preferred NUMA node can be adjusted to a specified node other than System Default if the default node is under heavy load to improve system network performance.
Max Number of RSS Processors (this setting can have an impact on CPU performance if you have a large number if cores, in some cases it may be best to specify a lower number of cores. If you notice that core #1 is at 100% utilization you can try increasing this number.)
- Verify your router service speed. If you do not manage the router check with the person or company that manages it. Otherwise if you have a cisco router you can follow this basic commands.
> show interface [InterfaceName#/#] capabilities (example: FastEthernet#/#)
- Verify what speed your switch is running, if the switch is not yours ask your service provider. Assuming you have a cisco switch login to the switch via terminal or telnet session, if the value for the switch is different than the router then you will need to use admin credentials. Then you will need to edit config mode for the correct interface. Here are some basic instructions. (If you screw up your network because you don't know what you are doing I am not liable! you have been warned)
> Show interface (interfacename example: FastEthernet#/#) capabilities
> Config Interface (interfacename example: FastEthernet#/#)
> Speed 100 (this number should match your router service speed)
> duplex full (this should match your router duplex)
- To do this on your server simply open network and sharing center, select "change adapter settings", click advanced tab. Now scroll down until you find something like "Speed Duplex" and set this to the same as your switch. (ie 100Mbps Full Duplex, or if you have a Gigabit switch 1 Gbps Full Duplex".
Offload (Offloading lowers CPU load and in most cases has little network performance benefit when disabled so you should leave them enabled)
- In some cases you may also have to increase the Maximum Number of RSS Queues if your CPU #1 is at 100% to see if it has a positive impact.
Decreasing Interrupt Moderation Rate will increase CPU utilization. (if you have CPU to spare you can decrease this to the lowest value or disable and adjust from that point)
Enable or disable flow control can make a slight difference in performance depending on your adapter(s).
- IPsec Offload can lower CPU usage.
- IPv4 Checksum Offload