Quick Bites
- The article discusses the importance of benchmarking Hyper-V cluster storage performance to identify potential performance issues before production use
- It recommends using a utility called IOMeter to simulate real-world workloads and assess disk performance
- The IOMeter setup involves configuring disk targets, access specifications, and test parameters to measure key metrics like I/Os per second, MBs per second, latency, and CPU utilization
- Benchmarking helps Hyper-V administrators proactively validate storage design and address any performance problems before the cluster is put into production, making it easier to perform maintenance and troubleshooting
There are many configuration tasks that are involved with standing up a new Hyper-V environment from configuring the hosts along with networking requirements all the way down to provisioning storage. It might seem like after configuring the hosts, networking, and storage along with the other Hyper-V cluster-specific tasks, the work to bring the new cluster online is finished. However, there is an aspect of provisioning that is often neglected that can be a great way to flush out any underlying issues before the cluster is placed into production use – benchmarking.
Generally speaking, you know what types of processors are configured as well as the capabilities of the provisioning storage for the Hyper-V cluster. Benchmarking allows for a tangible way to validate the configuration of the Hyper-V cluster from a performance standpoint. Disk/storage performance is a great area to start with benchmarking a Hyper-V cluster. Storage misconfiguration or other issues is a typical culprit to poor Hyper-V cluster performance.
Table of Contents
- Why Benchmark Hyper-V Storage Performance?
- Using IOMeter for Benchmarking Hyper-V Storage Performance
- Running IOMeter Disk Benchmark in Hyper-V
- Things to Keep in Mind with IOMeter Testing
- Concluding Thoughts
Let’s see how you can benchmark Hyper-V cluster storage performance using a commonly available disk utility to validate the overall performance of your storage in the Hyper-V cluster.
Why Benchmark Hyper-V Storage Performance?
As mentioned, benchmarking is a great way to test the overall performance of the Hyper-V cluster. Specifically, performance is often the culprit in poorly performing Hyper-V clusters. It is much better to flush out potential performance problems before placing a Hyper-V cluster into production.
Why is this important?
New environments especially can perform deceivingly well. This is due to the fact that new environments have no existing production workloads running. Even if there is an underlying problem with performance, simply moving a VM or two over to the new cluster with the purpose of testing that “everything works” can allow underlying problems to perceivably go unnoticed since only a couple or even a handful of VMs may not fully stress the underlying storage subsystem the way running a full production environment on the same Hyper-V cluster would do.
With that being said, benchmarking Hyper-V cluster storage is a great way to put the Hyper-V cluster storage installation through the paces. It allows putting real stress on the underlying storage system to see the amount of performance that actually comes through from the configured hardware. So, the benchmarking of storage hardware is essential.
How can you effectively benchmark the storage performance of a Hyper-V cluster?
Let’s take a look at the steps involved to effectively benchmark Hyper-V storage.
Using IOMeter for Benchmarking Hyper-V Storage Performance
IOMeter is a utility developed by Intel but that is now open source and freely available for download. IOMeter as a tool is again, however, it still provides a really good, easy to configure, the utility for getting a baseline of Hyper-V storage performance.
The official site to download the utility is https://www.iometer.org. IOMeter runs on all current Windows operating systems including Hyper-V Server.
In relation to Windows Failover Clusters running Hyper-V, it does not run on Cluster Shared Volumes or mapped network drives. One of the best ways to use it in testing is, assign a drive letter to an unpartitioned, unformatted mounted disk as this is the most accurate representation of the storage performance. It can test iSCSI and Fibre Channel LUNs as well. Pass through disks can also be tested. This is beneficial if you want to use a virtual machine to test shared storage. If you want to benchmark a CSV volume, benchmark it before designating it as a CSV volume as a raw LUN.
Installing IOMeter is extremely easy. The installer contains only a few “next, next, finish” steps in order to get the utility up and running on a server.
After installation, the program is ready to be configuring for benchmark runs of Hyper-V storage.
Running IOMeter Disk Benchmark in Hyper-V
The first configuration you need to do is set up the Disk Targets in IOMeter. This involves setting up your Manager, workers, Targets and other disk-related parameters. These include:
- Maximum Disk Size
- Starting Disk Sector
- # of Outstanding I/Os
- Write IO Data Pattern
Under the Access Specifications, you can set up the type of disk access you want the test to perform. These include different sizes, Read patterns and variance of randomness. Simply add the tests from the Global Access Specifications to the Assigned Access Specifications column. Once you have finished the test result, you can also view the results.csv file in Excel or other application that can read CSV files.
On the Results Display screen, you can configure how you want the results to be displayed, the update frequency, and the starting point for the updates.
Under the Test Setup tab, you name the test, configure:
- Run Time
- Ramp Up Time
- Record Results
- Number of Workers to Spawn Automatically
- Cycling Options
Once you are finished configuring and choose the Start Tests button, IOMeter will ask you to save the CSV file results to disk. Once you select the location to save the results, the test will begin running.
During the test runs, you can view the Results Display tab for real-time updates that display based on the Update Frequency (seconds) setting you specified. After the test runs for the allotted period of time, the Results Display tab will display the total results for the tests:
- Total I/Os per Second
- Total MBs per Second (Decimal)
- Average I/O Response Time (ms)
- Maximum I/O Response Time (ms)
- % CPU Utilization (total)
- Total Error Count
Things to Keep in Mind with IOMeter Testing
There is a certain number of things you want to keep in mind when using IOMeter for testing. These include:
- Use unpartitioned, unformatted disks for most accurate results
- Real workloads found in production are generally heavier on reads than writes, however, be sure to adjust the testing based on your actual production workloads so these will closely represent what will be seen in production
- Database read patter is typically around 66% read vs write
- Don’t use CSV volumes
Concluding Thoughts
Benchmarking Hyper-V Cluster storage is a great way to flush out potential performance issues on a new Hyper-V Cluster Storage environment. It is a great idea to benchmark and run disk utilities simulating production workloads before entering the Hyper-V cluster into production. IOMeter provides a great way to simulate real-world workloads and gives the ability to see important disk metrics such as the very crucial latency. By seeing potential issues with benchmark runs, the problem can be corrected before the Hyper-V cluster enters into production when it is much harder to perform maintenance or troubleshooting. By using IOMeter and other disk benchmark utilities, Hyper-V administrators can proactively validate the performance of a storage design, simulate real-world production workloads, and bring to light potential problems that may exist before the cluster is given the “green light” to enter production.
Related Posts:
5 Best Practices to Improve the performance of Hyper-V virtual machines
Hyper-V Cluster Network Performance Testing
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.