One of the critical areas of Hyper-V performance is the network. Network traffic is what allows all of the Hyper-V functionality and features to operate in the cluster. Like storage performance and validation, verifying network performance and validating a network design is a critical component of provisioning a Hyper-V cluster and ensuring it will perform and function as expected when running production workloads. In some respects, testing network performance and validating its design is a bit easier than storage due to its more static nature.
However, how can Hyper-V cluster networks be thoroughly tested for potential issues?
What tools are available that can allow Hyper-V administrators to ensure proper network performance and flush out any potential production-impacting issues?
Let’s take a look at Hyper-V cluster network performance testing and look a bit closer at using a utility that allows Hyper-V administrators to thoroughly test this aspect of Hyper-V cluster performance.
Hyper-V Cluster Network Performance Testing Tools
As introduced, there are tools available that can make the process of validating network performance much easier than attempting to do this by hand. It is always a great idea to use tools that can simulate production traffic and stress the various components of a Hyper-V design in an effective and efficient manner.
In this post, we will look at the IOMeter utility to test network performance.
IOMeter is better known as a disk performance utility, however, it has great network testing capabilities built into the utility that can allow throwing a significant load on specific network connections between Hyper-V hosts and check for errors in the process. It only requires just a small amount of configuration to get IOMeter setup to test and simulate network traffic between interfaces on Hyper-V hosts in a cluster.
Testing Network Performance Between Hyper-V Hosts using IOMeter
The first thing you need to do is download the latest version of IOMeter. It can be downloaded here:
You will need to install IOMeter on both hosts that you want to test network traffic between. If you have more than a two node Hyper-V cluster, you would of course want to install it on all hosts that you want to test traffic between. Ideally, it is a good idea to test between all Hyper-V hosts in the cluster to ensure there are no issues with a specific host.
After downloading and installing IOMeter on your Hyper-V hosts (for the purposes of this walkthrough, there are two hosts). Launch the IOMeter utility on your first Hyper-V host. The utility will add by default the local Hyper-V host the utility is running from.
The second portion of the test needs to be ran from the second Hyper-V host and will be done from the command line. Change the directory to the installation directory for IOMeter from the command line. You will issue a special IOMeter specific command:
- Dynamo -i
The options for the dynamo command are as follows:
- -i iometer host – name of the computer that is running the IOMeter GUI
- -m dynamo host – name of the computer where Dynamo is running on
The dynamo host should be able to connect to the source IOMeter host running the GUI utility.
The second Hyper-V host will show up in the IOMeter GUI without having to add it from the GUI. This verifies you have connectivity between the hosts for IOMeter purposes.
Now, for the actual configuration of connectivity to formulate the network connectivity test. Here we have added Network Workers to each host and removed the Disk Workers. In this test, Hyper1 is running the GUI and Hyper2 is the dynamo host. Click your primary host and select the network adapter you want to test from. Then place a checkbox by the second host network target you want to test traffic to. This will need to be adapters on the same VLAN/subnet.
Next, you need to configure the Access Specification tab with a New network test.
Below is what I have created for a new access specification.
Add this access specification to the assigned access specifications on the primary host.
On the Test Setup screen, set the description and the Record Results setting. Setting it to none means the results won’t be recorded to the CSV file.
You are now ready to run the network test between Hyper-V cluster hosts. A couple of tweaks to make on the Results Display screen are helpful.
- Set Update Frequency (seconds) to 5
- Change the last two metrics to Packet Errors and Network Packets per Second
While the test is running, you can quickly pull up a resource monitor on the target Hyper-V host and you should see a large amount of network activity. As you can see below, the summary of the network activity shows a large amount of traffic.
After the network test run is complete, you should hopefully see no network errors. Also, interesting to review in the results are the total MIBs per Second, Average I/O Response Time, and Network Packets per Second.
Testing and validating network connectivity, performance, and stability between Hyper-V cluster hosts should be a crucial part of validating a Hyper-V cluster before it enters production service. Network testing can be difficult to manually simulate without a good utility to do this efficiently. IOMeter is known for it’s disk performance testing capabilities, however, it is quite adept at providing a really great way to test network performance between nodes. This allows validating all the various networks that exist on a Hyper-V cluster as you are able to simulate traffic between such networks as Live Migration, Cluster, iSCSI, etc.
Validating the network is two-fold. It allows testing for errors and also testing for performance. Either errors or latency in the test can help to flush out potential network misconfiguration between hosts or devices. By validating both the performance of the storage and also the network connectivity between Hyper-V cluster hosts, Hyper-V administrators will have a tested platform that displays stability and performance which allows confidence the cluster is ready for production workloads.