Skip to content
SPECIFICTION
Get listed

fio

github.com

Free plan WindowsmacOSLinuxSelf-hosted
Visit github.com
Spec score 8.4 #12 of 73 in PC Benchmark Software

What it is

fio is a free storage I/O workload simulator for performance testing and reproducing bugs. Its job files can define multiple threads, processes and files, with sequential, random or mixed reads and writes using buffered, direct or raw I/O. Tune block and I/O size, I/O engine, queue depth, target files or devices, and job count. Documented engines include Linux io_uring and libaio, POSIX asynchronous I/O, and synchronous read/write options. Separate engines support HTTP GET and PUT requests to WebDAV or S3 endpoints and access to Ceph RADOS and RBD. Verification options can check written data after a workload, including repeated burn-in tests. Results are available in normal text, terse, JSON and JSON+ formats, plus bandwidth and latency logs; terse output is intended for scripts, tables or graphs. fio supports Linux, Solaris, AIX, HP-UX, macOS, NetBSD, OpenBSD, Windows, FreeBSD and DragonFly. The HTTP engine supports direct I/O only at depth 1, with scaling through multiple jobs.

Spec sheet

Purpose
fio simulates configurable I/O workloads for performance testing and reproducing bugs.Read 4 Oct 2026 · github.com
Platforms
The project lists Windows installers for tagged releases and packages for Linux distributions, Solaris, and BSDs; its release notes also mention macOS.Read 4 Oct 2026 · github.com
Free plan
YesRead 24 Sep 2026 · github.com
Support
The maintainers direct bug reports to the fio mailing list or GitHub rather than to them by direct email.Read 4 Oct 2026 · github.com
Founded
2006Read 28 Sep 2026 · github.com
CLI or automation
YesRead 24 Sep 2026 · github.com
Comparison database
NoRead 24 Sep 2026 · github.com
Custom test profiles
YesRead 24 Sep 2026 · github.com
Data verification
Verification options can check written data after a workload, including repeated burn-in tests.Read 4 Oct 2026 · github.com
Distribution
The repository identifies GPL-2.0 as the project license.Read 4 Oct 2026 · github.com
I/O engines
Documented engines include Linux io_uring and libaio, POSIX asynchronous I/O, and synchronous read/write engines.Read 4 Oct 2026 · github.com
I/O patterns
Jobs can perform sequential, random, or mixed reads and writes, using buffered, direct, or raw I/O.Read 4 Oct 2026 · github.com
Notable limit
The documented HTTP engine supports direct I/O only at I/O depth 1, with scaling through multiple jobs.Read 4 Oct 2026 · github.com
Operating systems
Linux,Solaris,AIX,HP-UX,macOS,NetBSD,OpenBSD,Windows,FreeBSD,DragonFlyRead 24 Sep 2026 · github.com
Output
Results can be written in normal, terse, JSON, or JSON+ formats, with terse output intended for scripts, tables, or graphs.Read 4 Oct 2026 · github.com
Result export formats
normal text,terse (semicolon-delimited),JSON,JSON+,bandwidth/latency logsRead 24 Sep 2026 · github.com
Storage integrations
The HTTP engine supports GET and PUT requests to WebDAV or S3 endpoints, and separate engines provide Ceph RADOS and RBD access.Read 4 Oct 2026 · github.com
Tuning
Workload parameters include block size, I/O size, I/O engine, queue depth, target files or devices, and job count.Read 4 Oct 2026 · github.com
Workload areas
Storage I/O: read,write,trim,mixed workloads; bandwidth,IOPS,and latencyRead 24 Sep 2026 · github.com
Workload setup
Workloads are defined in job files that can describe multiple threads, processes, and files.Read 4 Oct 2026 · github.com

Plans and prices

fio Free Open-source I/O tester · GPL-2.0 Read 4 Oct 2026 · github.com

Every fio plan and price →

Strong points and limits

Strong points

  • Job files can define multiple threads, processes and files.
  • Supports sequential, random and mixed read/write patterns.
  • Results include JSON, terse and bandwidth/latency logs.
  • Verification options can check written data.
  • Free; project license is GPL-2.0.

Limits

  • HTTP direct I/O is limited to depth 1.
  • Bug reports go to the mailing list or GitHub.

Who it suits

fio suits people who need configurable storage workloads, scriptable results or data verification across supported operating systems. It can also model workloads involving WebDAV, S3 or Ceph storage.

Verdict

fio offers detailed control over workload shape, I/O engines and output formats. Its documented HTTP direct-I/O depth limit matters for users scaling that particular workload.

Where Specifiction places it

Alternatives to fioAll alternatives →