Running HCIBench

From Notes_Wiki

Home > VMWare platform > vMWare VSAN > Running HCIBench

It is possible that there is requirement or curiosity to know what is the maximum IOPS that a particular vSAN deployment can provide. This can be caculated by running HCIBench tool. Ideally before running HCI Bench, we need to shutdown almost all workloads (Except perhaps very critical ones such as vCenter [Required to run HCI Bench] or AD [Providing DNS/DHCP functionality for HCI Bench]) etc.

Thus, HCI Bench can be executed using following steps:

  1. Download HCI Bench ova from https://flings.vmware.com/hcibench and deploy it
    Also high recommended is to download HCI bench instructions from https://flings.vmware.com/hcibench#instructions and understanding them properly
  2. During installation or ova deployment HCI Bench is going to ask for two types of network
    Management network
    This is the network where HCI bench tool web UI can be accessed for configuration and reports
    VM network
    Network which will be used for HCI Bench tool to communicate with guest VMs. It makes things easier if this network has DHCP with considerable (at least number of hosts *10) free IPs. So for a five node cluster ensure that this VM network has DHCP and has about 50 free IPs.
  3. Give static IP address for the HCI Bench VM in the management network with appropriate gateway, netmask, DNS, etc. information. For this change "Management network type" from default of "DHCP" to "static"
  4. After deployment access HCI bench at https://<ip-or-fqdn>:8443/
  5. In configuration section define various parameters as follows (Definitely all non-Optional parameters such as datacenter name / cluster name etc. need to be specified):
    Network Name
    This should be same as the VM network chosen during ova deployment. The HCI Bench VM actually has two NICs one in management network and another in VM network. If we do not set this correctly then benchmarking test VMs that will get launched with wrong NIC network and they wont be able to communicate with HCI bench main VM.
    You dont have DHCP
    Select this as yes/no appropriately whether VM network has DHCP or not. Note that this is only for internal communication between HCI bench and test workload VMs. If we do not have DHCP we can specify any IP subnet (Not necessary what is used by other VMs in that subnet) as this is only for L2 (within same VLAN) communication.
    Datastore name
    Specify the correct name of vSAN datastore (Ideally copy-paste names and values from vCenter)
    Reuse VMs If Possible
    Very useful to keep / reuse VMs for multiple tests. Note that VM creation process is very time consuming and we can delete the VMs at any time much later as they follow certain naming convention. Hence reusing them or at least leaving this option enabled makes lot of sense.
    Delete VM after testing
    Very useful to set it to no. This works with "Reuse VMs" option specified earler.
    Easy run
    Normally HCI bench will need lot of parameters such as no. of VMs per host, no. of disks per VM, size of disks, no. of threads per VM, how long test should execute etc. This is quite overwhelming. It is easier to enble easy run and choose one of the appropriate options such as:
    • 4K, 70% Read, 100% Random test to simulate the most common workloads.
    • 4K, 100% Read, 100% Random test to show the best realistic I/O per second of this given configuration.
    • 8K, 50% Read, 100% Random test to simulate the OLTP workloads.
    • 256K, 100% Write, 100% Sequential test to show the best realistic Throughput of this given configuration
    Bechmarking tool (vio or vdbench)
    We have used vio which is internal for tests and it worked properly. So that is simpler then download vdbench from external sites and then uploading it to HCI bench appliance.
  6. After this save configuration and validate it
    During validation the system may ask you to "disble DRS". This makes sense as during HCI Bench execution we do not want VMs to migrate based on load. Hence you could consider disabling DRS before running validation.
  7. After validation is successful we can start test. Before starting DRS should be disabled and almost all workloads should be stopped.
    If we cannot stop workloads then we should leave these critical workloads on a few hosts and run HCI bench VMs on remaining hosts. Still these few critical VMs are likely to get very slow I/O as HCI bench pushes the underlying hardware to its limits.
  8. During run the HCI bench will try to create VMs and initialize there disks. This is specially true if you choose "Easy run" option. This processes takes time. In one of the cases creating 30 VMs among 5 hosts took 1.5 hours. This is before the actual benchmarking test can even start.
  9. Once the VMs are created we observed the test to run for at least 45minutes and then took screenshots to cancel as we were running out of scheduled downtime. However, safe to say that plan for 3-4 hours of downtime for test VM creation + test to run for benchmarking.
  10. If you do not cancel the test and it concludes properly then you can download the reports from the tool
  11. At some later point we can use HCI bench tool to delete the test benchmarking VMs



Home > VMWare platform > vMWare VSAN > Running HCIBench