What are possible ways to address the issue?
If you encounter this exception, the remedy is to adjust the benchmark workload that you are running on the vSAN cluster according to the desired goal of performance evaluation. To achieve higher IOPS or higher throughput, it may be necessary to increase the outstanding IO. To achieve lower latency, it may be necessary to decrease the outstanding IO. More details follow:
- If your goal is maximum IOPS or maximum throughput, you must configure your benchmark to execute high outstanding IOs (ideally at least 2 per host in the cluster. As an example, for a 4 node cluster, the benchmark must drive a cumulative of 8 outstanding IOs in its workload, the higher, the better). Otherwise, the system does not have a sufficient number of parallel IOs to keep all the storage devices busy with IOs. For both of these goals, you must keep increasing the outstanding IOs in your benchmark, until you hit a point where the system runs into vSAN disk group congestion (See KB: vSAN performance diagnostics reports: "vSAN is experiencing congestion in one or more disk group(s)"), or the result of the benchmark (IOPS or Throughput) does not get any higher. If your benchmark does not allow you to specifically tune the outstanding IOs, you may increase the number of VMs on the cluster to increase the number of outstanding IOs.
- If your goal is minimum latency, you must configure your benchmark to execute low outstanding IOs (ideally 1 per host); otherwise, the IOs may queue at different layers, leading to higher latency. If your benchmark does not allow you to specifically tune the outstanding IOs, you may decrease the number of VMs on the cluster to decrease the number of outstanding IOs.
How do I configure this parameter in HCIBench?
Please set the parameter of Number of Threads Per Disk in the Vdbench Parameter File Generate Page of HCIBench.
- You must have at least two threads per disk for the goals of maximum IOPs and maximum throughput.
- You must have one thread per disk for the goal of minimum latency.
Alternatively, run the “Easy Run” mode of HCIBench.
*In vSAN 8.x there is a built in performance benchmark analyzer that can be used to get similar test and results.