FREEDOM251

Freedom251 › PC benchmark tools

fio

by fio

Free plan LinuxMacSelf-hostedWindows

Visit fio Alternatives Pricing

fio's own site

What fio is

fio is a free, GPL-2.0-licensed tool for simulating configurable storage I/O workloads, including for performance testing and reproducing bugs. Workloads are set out in job files that can describe multiple threads, processes, and files. Jobs can run sequential, random, or mixed reads and writes using buffered, direct, or raw I/O. Settings include block size, I/O size, 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 engines. Its HTTP engine supports GET and PUT requests to WebDAV or S3 endpoints; separate engines provide access to Ceph RADOS and RBD. Results can be saved as normal text, terse, JSON, JSON+, or bandwidth and latency logs. Verification options can check written data after a workload, including repeated burn-in tests. fio supports Linux, Solaris, AIX, HP-UX, macOS, NetBSD, OpenBSD, Windows, FreeBSD, and DragonFly. The documented HTTP engine supports direct I/O only at I/O depth 1, with scaling through multiple jobs.

Who it suits

fio suits people who need to define and run configurable storage I/O workloads, automate runs, or verify written data. Its multiple operating-system options may help users working across Linux, Windows, macOS, and other listed systems.

What it does well

  • Defines multi-threaded workloads in job files.
  • Supports sequential, random, and mixed reads and writes.
  • Exports results in text, JSON, and log formats.
  • Includes options to verify written data.
  • Available for Linux, Windows, macOS, and other systems.

What to know first

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

Limits

The documented HTTP engine supports direct I/O only at I/O depth 1; scaling is through multiple jobs.

Plans

PlanBilled and limitsPrice
fioOpen-source I/O tester · GPL-2.0Free

As github.com lists them, read 4 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit the fio GitHub repository.
  2. Install or run fio on a supported operating system.
  3. Create a job file describing the workload, targets, and parameters.
  4. Run the workload through the command line.
  5. Choose an output format, and enable verification if needed.

Verdict

fio offers detailed workload controls, verification, and several output formats at no cost. Its HTTP direct-I/O depth limit matters for users planning those workloads.

Questions

Is fio free?

Yes. fio is free and its plan is listed as free. The project license is GPL-2.0.

Which operating systems does fio support?

Listed systems include Linux, Solaris, AIX, HP-UX, macOS, NetBSD, OpenBSD, Windows, FreeBSD, and DragonFly.

Can fio automate workloads?

Yes. fio offers command-line automation, and workloads are described in job files.

Which result formats can fio export?

Results can be written as normal text, terse output, JSON, JSON+, and bandwidth or latency logs.

What storage services can its HTTP engine access?

The HTTP engine supports GET and PUT requests to WebDAV or S3 endpoints.

What is the HTTP engine's direct I/O limit?

It supports direct I/O only at I/O depth 1, with scaling through multiple jobs.

Facts from fio's own pages

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

Where fio stands on Freedom251

Look at these too