/fio-helper

A simple tool to help me run fio benchmark

Primary LanguagePython

A simple tool to run FIO and parse the result

Usage

FIO

Use FIO on different devices and collect the FIO results to OUTPUT

DIR=/data1 OUTPUT=./log1 ./run_fio.sh
DIR=/data2 OUTPUT=./log2 ./run_fio.sh

Collection

Latency

python parse_latency.py -i ./log1/com -i ./log1/com

It will generate following files in the directory './output'

read100-lat-mean.csv
read100-lat-p99.csv
read70-lat-mean.csv
read70-lat-p99.csv
write100-lat-mean.csv
write100-lat-p99.csv
write30-lat-mean.csv
write30-lat-p99.csv

read100 means 100% read, read70 means 70% read + 30% write, and so on.

Bandwidth

python parse_bw.py -i ./log1/com -i ./log1/com

It will generate following files in the directory './output'

read100-bandwidth.csv
read70-bandwidth.csv
write100-bandwidth.csv
write30-bandwidth.csv

Read Latency with different block size

python parse_var_bs.py -i ./log1/var-bs -i ./log2/var-bs

It will generate following files in the directory './output'

read100-bs-lat-mean.csv
read100-bs-lat-p99.csv

TL;DR

You can use ./gen_output.sh to generate all the CSV files directly, like:

./gen_output.sh ./log1 ./log2

After you generate all CSV files, you can use many tools to convert them to Markdown table, or paste them to the Excel.

TODO

  • Use pyplot to generate the chart