LinuxCommandLibrary

fio

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.

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)

Copied to clipboard