Tiobench is a benchmark designed to test your filesystem with a multithreaded workload.
The simplest way to run tiobench is to run
./tiotest
This will run the benchmark with default values. With the -h option you get a list of all the parameters you can tweak. Another simple way to get a more thorough test, is to run the tiobench.pl script.
Just running
./tiotest
will result in this output:
Tiotest results for 4 concurrent io threads: ,----------------------------------------------------------------------. | Item | Time | Rate | Usr CPU | Sys CPU | +-----------------------+----------+--------------+----------+---------+ | Write 40 MBs | 0.4 s | 105.277 MB/s | 0.0 % | 43.2 % | | Random Write 16 MBs | 0.1 s | 126.724 MB/s | 0.0 % | 87.6 % | | Read 40 MBs | 0.4 s | 110.743 MB/s | 8.9 % | 13.3 % | | Random Read 16 MBs | 0.0 s | 4376.751 MB/s | 0.0 % | 560.2 % | `----------------------------------------------------------------------' Tiotest latency results: ,-------------------------------------------------------------------------. | Item | Average latency | Maximum latency | % >2 sec | % >10 sec | +--------------+-----------------+-----------------+----------+-----------+ | Write | 0.006 ms | 2.310 ms | 0.00000 | 0.00000 | | Random Write | 0.003 ms | 0.620 ms | 0.00000 | 0.00000 | | Read | 0.100 ms | 148.807 ms | 0.00000 | 0.00000 | | Random Read | 0.002 ms | 0.666 ms | 0.00000 | 0.00000 | |--------------+-----------------+-----------------+----------+-----------| | Total | 0.039 ms | 148.807 ms | 0.00000 | 0.00000 | `--------------+-----------------+-----------------+----------+-----------'
Running the script
Run #1: ./tiotest -t 1 -f 2000 -r 4000 -b 4096 -d . -T Run #1: ./tiotest -t 2 -f 1000 -r 2000 -b 4096 -d . -T Run #1: ./tiotest -t 4 -f 500 -r 1000 -b 4096 -d . -T Run #1: ./tiotest -t 8 -f 250 -r 500 -b 4096 -d . -T Unit information ================ File size = megabytes Blk Size = bytes Rate = megabytes per second CPU% = percentage of CPU used during the test Latency = milliseconds Lat% = percent of requests that took longer than X seconds CPU Eff = Rate divided by CPU% - throughput per cpu load Sequential Reads 4.4.0-79-generic 2000 4096 1 110.76 6.069% 0.035 165.57 0.00000 0.00000 1825 4.4.0-79-generic 2000 4096 2 103.44 11.68% 0.075 245.25 0.00000 0.00000 885 4.4.0-79-generic 2000 4096 4 111.42 25.15% 0.137 816.07 0.00000 0.00000 443 4.4.0-79-generic 2000 4096 8 111.53 52.24% 0.255 1890.60 0.00000 0.00000 213 Random Reads 4.4.0-79-generic 2000 4096 1 ###### 94.33% 0.002 0.03 0.00000 0.00000 1953 4.4.0-79-generic 2000 4096 2 ###### 211.0% 0.002 0.94 0.00000 0.00000 977 4.4.0-79-generic 2000 4096 4 ###### 370.3% 0.002 0.07 0.00000 0.00000 781 4.4.0-79-generic 2000 4096 8 ###### 186.4% 0.002 0.05 0.00000 0.00000 977 Sequential Writes 4.4.0-79-generic 2000 4096 1 99.28 32.56% 0.028 399.89 0.00000 0.00000 305 4.4.0-79-generic 2000 4096 2 109.64 17.84% 0.034 1599.98 0.00000 0.00000 614 4.4.0-79-generic 2000 4096 4 110.00 38.80% 0.116 8400.05 0.00078 0.00000 283 4.4.0-79-generic 2000 4096 8 110.97 94.59% 0.143 3999.99 0.00137 0.00000 117 Random Writes 4.4.0-79-generic 2000 4096 1 81.29 16.64% 0.004 0.10 0.00000 0.00000 488 4.4.0-79-generic 2000 4096 2 86.59 26.60% 0.003 0.03 0.00000 0.00000 326 4.4.0-79-generic 2000 4096 4 87.64 60.57% 0.003 0.03 0.00000 0.00000 145 4.4.0-79-generic 2000 4096 8 90.63 111.3% 0.003 0.07 0.00000 0.00000 81
will result in a output like this