HCI Performance testing made easy (Part 2)

Screenshot of results in X-Ray

Today we will use the simplest workload that X-Ray provides, the “Four Corners” Benchmark.  This is the classic storage benchmark of Random Read/Write and Sequential Read/Write.  Most people understand that this workload tells us very little about how the storage will behave under real workloads, but most people also want to know “How Fast” will the storage go.

Here’s a video of the same process :

First select the Four Corners Microbenchmark” from the test list.  The “For Corners” test is supplied with X-Ray.  Of course you can edit the parameters if you wish.

Then select the target cluster to run the test upon, and add to the test queue for execution.

The results will update in realtime.  X-Ray first creates the test VM’s and powers them on…

If I want to compare different runs then X-Ray has the “Analyze” button.  In my case I am using an engineering build of the product and comparing the same platform with different tuning.  The compare/analyze can be useful for comparing different platforms, hypervisors or HCI vendors since X-Ray can run pretty-much on anything that presents a data store to vCenter as well as Nutanix AOS/Prism.

This result would seem to show that the tuning performed in experiment #2 had a large improvement in Random Write IOPS and did not negatively effect the other results (Random Read, Sequential Read, and Sequential Write).

I can also look at the particular parameters of this test, by selection the Actions->Test Logs

For instance I can look at the Random Read parameters (these are standard fio configuration files)

I can also look at the overall “Four Corners” test configuration which is specified as YAML

 

HCI Performance testing made easy (Part 1)

In this short series I will describe how to perform performance an resiliency tests on a HCI cluster using X-ray.

X-Ray can do the following for the performance tester.

  • Model IO workloads using standard fio format
  • Create VMs based on user-specified criteria (CPUs, Memory, Number & Size of disks)
  • Provision the VMs  to a HCI cluster (Nutanix AHV, ESXi, Hyper-V)
  • Execute the workloads
  • Display and store the results

In particular X-Ray give the additional benefits that most workload generators do not

  • Specify and deploy workloads with different IO patterns and characteristics
    • Most workload generators create a uniform workload on all workers
  • Execute and terminate sub-workloads on a user-specified timeline
    • e.g. Begin workload 1 then introduce workload 2 and measure the interference
  • Introduce failure scenarios and measure the impact to performance

Here’s a video of X-Ray in action, I export an existing X-Ray test, edit it to create a new test, upload and execute the test.

 

The files are in my X-ray GitHub