This section is actually part of my revision for the exam 74-409 but thought I would break it out into it’s own section.
Configure Hyper-V Virtual Machines that are Running on the same Hyper-V host computer to use a Private Virtual Network
When I read this it actually sounds obvious in hindsight! If you are cutting out the need to leave the hyper-v server to communicate with out virtual machines, then not only are you cutting down on the actual distance the data needs to travel but also any congestion on the network.
The basic process for setting this up is to:
- Setup an additional network card on each VM and add them all to the same private network.
- Assign each machine a static IP address in the same range (example 10.1.1.#)
- Add a host file entry for each virtual machine with the static IP address on the private network adapter.
Disable TCP Offloading for the Virtual Machine Network Cards
I have looked around to find a reason why disabling TCP offloading helps, but I have a theory. As TCP Offloading would normally use the hardware network controller to take load from the CPU, as the network controller is virtual offloading wouldn’t actually actually benefit the performance. You can turn off TCP offloading from the adapter properties like in the screenshot below:
Configure guest operating systems to use the Hyper-V synthetic network adapter.
Basically there are 2 types of network adapter when it comes to Hyper-v; Emulated (aka Legacy) and Synthetic. What you need to know is Synthetic is better all around and requires the guest integration services, and the only reason you might use Emulated is if you want to boot from PXE.
Configure network switch topology to make use of multiple network adapters.
If you think about it like this; each VM has a virtual adapter, each virtual adapter connects to a virtual switch and each virtual switch uses a real physical NIC. So basically, if you have multiple NICs on your Hyper-V host make sure you try and attached virtual switches to different physical NICs to spread the load.
If available, enable offload capabilities for the physical network adapter driver in the root partition.
I am not sure if this is still valid, but within the network adapter properties of the hyper-v host there are setting which controls what type of offloading takes place. It appears there is LSOv1 and LSOv2 (on my machine I could only find LSOv2 options), and Hyper-V 2012 supports only LSOv1. Therefore if you get the option to change to LSOv1 then take it!
Install high speed network adapter on the Hyper-V host computer and configure for maximum performance.
Not much to say about this one! Basically just install a fast network adapter (1Gb) and then set to to fixed speed as opposed to using “auto negotiate”.