LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

fio

flexible I/O tester and benchmark

TLDR

Sequential read test
$ fio --name=test --rw=read --size=[1G]
copy
Random write test
$ fio --name=test --rw=randwrite --size=[1G]
copy
Run job file
$ fio [jobfile.fio]
copy
Mixed read/write
$ fio --name=test --rw=randrw --rwmixread=[70] --size=[1G]
copy
Measure latency
$ fio --name=test --rw=randread --size=[1G] --lat_percentiles=1
copy

SYNOPSIS

fio [options] [jobfiles...]

DESCRIPTION

fio (Flexible I/O Tester) is a versatile I/O benchmark tool for testing storage performance. It simulates various workload patterns and measures throughput, IOPS, and latency.The tool supports numerous I/O engines including sync, libaio, io_uring, and network protocols. Job files define complex test scenarios with multiple workloads.fio is the standard tool for storage benchmarking, used for disk selection, filesystem tuning, and performance validation.

PARAMETERS

JOBFILES

Job definition files.
--name NAME
Job name.
--rw TYPE
I/O type: read, write, randread, randwrite, randrw.
--size SIZE
Total I/O size.
--bs SIZE
Block size.
--iodepth N
I/O queue depth.
--numjobs N
Number of parallel jobs.
--runtime SEC
Test duration.
--output FILE
Output file.
--help
Display help information.

INSTALL

sudo apt install fio
copy
sudo dnf install fio
copy
sudo pacman -S fio
copy
sudo apk add fio
copy
sudo zypper install fio
copy
brew install fio
copy
nix profile install nixpkgs#fio
copy

CAVEATS

Results vary with test parameters. May fill disk with test files. Requires understanding of I/O patterns for meaningful results.

HISTORY

fio was created by Jens Axboe, the Linux block layer maintainer. It's the most comprehensive open source storage benchmark, supporting virtually every I/O pattern and storage backend.

SEE ALSO

dd(1), hdparm(1), ioping(1)

RESOURCES

Copied to clipboard
Kai