This repository holds a script to test the IO performance of a filesystem using
dd
.
It is aimed at running on a Linux system and has primarily been tested on CentOS 7 and Rocky 8.
The only required argument is the path to the temporary file used for the read/write tests, e.g.
./seq-io.sh $HOME/tempfile
will perform the tests on a file called tempfile
in the $HOME
directory.
The temporary file is removed after the tests complete.
Install Conda for the current user as described in the Conda documentation.
Once installed open a shell and change to the directory of this cloned repository and run:
conda env create -f ./condaenv -p ./condaenv
conda activate ./condaenv
After the first run of conda env create ...
you only need to run the
conda activate ./condaenv
command when opening a new shell.
A single run of the script runs 5 loops of both write and read tests using dd
and prints the results to stdout
.
To persist the results to a file redirect the output, e.g
./seq-io.sh $HOME/tempfile > results_dir/$(date +%y%d%m_%H%M%S).json
where results_dir
is any directory that will hold the results (it must exist).
The date
command names the file with a timestamp describing when the
script began executing and
To plot all of the results in results_dir
run:
python ./plot-seq-io.py results_dir
To print a list of block devices with additional information run:
lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL