Storage Performance Tester
Storage Performance Tester is a one-click storage performance test tool, which is able to collect IOPS, latency and CPU cycles per I/O for ESXi storage stack. This tool automates all the testing steps including the customized VMs deployment, I/O workload running, and storage performance analysis. It displays the performance metrics through multiple visualized graphical charts. The only thing that users need to do is enter one command and wait for the performance report of your server.
This tool is designed to be a developer-friendly tool help troubleshoot and identify storage performance issues. It could be used to validate the maximum performance of new storage hardwares/drivers and setups of vSphere/vSAN. For more details please check the guild located in the instructions
- Python 3
- 2 GB of storage space
- Linux environments (kernel version is older than 2.6.31)
Using Storage Performance Tester
2.1. Obtain and Prepare work
The Storage Performance Tester can be obtained as a .zip file from VMware. Uncompress the whole zip file, and follow the instructions below to check whether it could run in your environment.
- check if the third-party tool, fio, could work well.
- check if ovftool could work
2.2. Using Storage Performance Tester
A basic command as below:
#./sperf.py HOSTNAME -d DatastoreName
sperf.py needs users to input the root password of the HOST, after that it will do the test automatically and give you the result in about 20mins (with default
The command used to test multi datastores on the HOST:
#./sperf.py HOST -d datastore1 -d datastore2 -d datastore3 -d datastore4
2.3. I/O Workloads Setup
Sperf could control the I/O workloads through the config file (--configfile/-i).
#config.ini is the default workload config file.
The config file supports three keywords, which are [iops*] [latency*] and [delay*].
[iops*] is an IOPS fio scripts group.
[latency*] is a latency fio workloads group.
[delay*] is to add some time delay between the sections.
You can write your own config files to define which kind of workloads to run in the test.
#your fio scripts name in fioscripts.
#you can also add some delay between the two workload sections.
Storage Performance Tester Reporting
SPerf provides an intuitive way for customers to check performance metrics.
It is better to have an HTTP service in your environment to check the output.html files if you don't have one, below steps will help.
#cd results && nohup ./sperfhttp.sh &
The upper script will start up a simple HTTP service in your Linux with port 8000. So you can check your all your test results through http://YOURLINUXIP:8000/
In the results, you can also check the basic information of your target HOST.
For your instance: