User Tools

Site Tools


Table of Contents

tiobench

Tiobench is a benchmark designed to test your filesystem with a multithreaded workload.

Usage

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.

Example Output

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