Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Disk Benchmark Software
  3. fio

fio

What it is

fio is a free command-line tool for simulating user-defined I/O workloads for performance testing and reproducing bugs. Workloads can be described in job files or configured through command-line parameters, including I/O patterns, block and I/O sizes, engines, queue depth, targets, and threads or processes. Reports are available in normal, terse, JSON, and JSON+ formats. fio can run as a backend server to receive jobs from clients on other hosts, and its HTTP engine supports HTTP and S3 access. The documented platforms include Linux, macOS, Windows, Solaris, AIX, HP-UX, NetBSD, OpenBSD, FreeBSD, and DragonFly. For Windows, the stated minimum versions are Windows 7 and Windows Server 2008 R2; building there requires Cygwin. The --readonly option is intended to prevent writes and trims, and fio aborts destructive jobs on devices that appear mounted unless allow_mounted_write is set. The project is free software under version 2 of the GNU GPL.

For and against

For

  • Configures detailed workload parameters
  • Reports in normal, terse, JSON, or JSON+ formats
  • Supports remote client/server job execution
  • Free software under GNU GPL version 2

Against

  • Command-line interface
  • Building on Windows requires Cygwin
  • Windows minimum is Windows 7 or Server 2008 R2

The verdict

fio offers configurable workload simulation, multiple report formats, and remote job execution. Windows users should note the documented minimum versions and Cygwin build requirement.

Who it suits

fio suits users who need to configure and run specific I/O workloads from the command line. Its client/server mode can also suit teams sending jobs to other hosts.

Plans and prices

fio

Free

GNU GPL version 2 software

Every plan, in full

On the record

Author
The documentation names Jens Axboe as fio's author and says he wrote it to enable flexible testing of the Linux I/O subsystem and schedulers.fio.readthedocs.io · read 29 Sep 2026
Distribution
The documentation says tagged-release Windows installers are available through GitHub Releases and mentions Linux distribution packages.fio.readthedocs.io · read 30 Sep 2026
Download options
The documentation points to official release installers for Windows on GitHub and lists binary packages in several Linux distributions and other repositories.fio.readthedocs.io · read 29 Sep 2026
Intended users
The author describes fio as a tool for simulating specific I/O workloads without repeatedly writing tailored test programs.fio.readthedocs.io · read 30 Sep 2026
License
fio is free software published under version 2 of the GNU GPL.fio.readthedocs.io · read 30 Sep 2026
Maintainers
The documentation names Jens Axboe and Vincent Fu as maintainers.fio.readthedocs.io · read 29 Sep 2026
Permissions
fio does not need root unless the specified files or devices require it, though some options may also be restricted.fio.readthedocs.io · read 29 Sep 2026
Purpose
fio simulates user-defined I/O workloads to test performance or reproduce bugs.fio.readthedocs.io · read 30 Sep 2026
Remote execution
fio supports a client/server mode that can send jobs to run on remote hosts.fio.readthedocs.io · read 30 Sep 2026
Remote operation
fio can run as a backend server and accept jobs from clients on other hosts.fio.readthedocs.io · read 29 Sep 2026
Reporting
fio can output normal, terse, JSON, and JSON+ reports.fio.readthedocs.io · read 30 Sep 2026
Safety control
The --readonly option prevents writes and trims, and fio aborts destructive jobs on devices that appear mounted unless allow_mounted_write is set.fio.readthedocs.io · read 29 Sep 2026
Safety option
The --readonly option enables checks intended to prevent write and trim workloads.fio.readthedocs.io · read 30 Sep 2026
Storage access
The documentation describes HTTP and S3 access through fio's HTTP engine.fio.readthedocs.io · read 29 Sep 2026
Support
The project mailing list is intended for discussion, bug reports, questions, and development; the documentation also directs bug reports to the mailing list reflector or GitHub page.fio.readthedocs.io · read 30 Sep 2026
Windows requirement
The minimum Windows versions for building or running fio are Windows 7 and Windows Server 2008 R2.fio.readthedocs.io · read 29 Sep 2026
Windows requirements
The documented minimum Windows versions are Windows 7 and Windows Server 2008 R2; Cygwin is required to build fio on Windows.fio.readthedocs.io · read 30 Sep 2026
Workload controls
Job parameters include I/O pattern, block size, data size, I/O engine, queue depth, target files or devices, and thread or process count.fio.readthedocs.io · read 30 Sep 2026

The review

Overview

fio is a command-line storage workload simulator for people who need to reproduce specific I/O behavior, measure performance, or investigate storage bugs. It is best suited to users comfortable defining tests in job files or command-line parameters; those seeking a simple, fixed benchmark should look elsewhere.

Its strength is control: fio can shape I/O and report results in formats suited to people or other tools. That flexibility brings a learning and configuration burden, and destructive workloads call for care despite the built-in safeguards.

Key features

Workload control

Job files and command-line parameters let users define random or sequential I/O and tune patterns, block and I/O sizes, engines, queue depth, targets, and threads or processes. This makes fio useful when a test needs to reflect a particular storage workload rather than a preset benchmark. The tradeoff is that users must know what workload they want to model and configure it accordingly.

Measurement and output

fio measures IOPS and latency, with results available in normal, terse, JSON, or JSON+ formats. The choice of output is practical for both direct review and structured processing, though the command-line orientation is a poor fit for anyone expecting a graphical benchmarking workflow.

Remote and HTTP/S3 operation

In client/server mode, fio can accept jobs from clients on other hosts, useful when workloads need to run remotely. Its HTTP engine also supports HTTP and S3 access. These options broaden where jobs can run and what they can target, but do not remove the need to configure the workload carefully.

Safety and permissions

The --readonly option enables checks intended to prevent writes and trims. fio also aborts destructive jobs on devices that appear mounted unless allow_mounted_write is set. These safeguards help reduce risk, but users should still verify targets and options before running a job that could modify storage. Root access is not generally required unless the chosen files or devices require it; some options may also be restricted.

Pricing

fio is free software under version 2 of the GNU GPL. Its free plan costs nothing, and no paid tier is part of the offering. This suits users who want configurable storage testing without a software fee; the tradeoff is a command-line tool rather than a packaged, guided benchmark experience.

Platforms

fio supports Linux, macOS, Windows, Solaris, AIX, HP-UX, NetBSD, OpenBSD, FreeBSD, and DragonFly. Windows users should note that building fio requires Cygwin, and the documented minimum versions for building or running it are Windows 7 and Windows Server 2008 R2. Tagged-release Windows installers are available through GitHub Releases; Linux distribution packages are also available. The project mailing list handles discussion, questions, bug reports, and development, with bug reports also directed to GitHub.

Who it's for

fio is a strong fit for storage administrators, developers, and other technically capable users who need to define repeatable I/O workloads, measure IOPS or latency, or send jobs to remote hosts. It is less suitable for casual users who want a visual interface or a ready-made score without designing a workload.

Pros and cons

  • Pros: Extensive controls over I/O patterns, sizes, engines, queue depth, targets, and execution model let users tailor tests to specific cases.
  • Pros: Multiple output formats and client/server operation support analysis workflows and remote job execution.
  • Pros: Free GPLv2 software with broad platform support and safeguards for mounted devices and read-only runs.
  • Cons: A command-line interface and detailed workload configuration demand more expertise than a simple preset benchmark.
  • Cons: Windows builds require Cygwin, and destructive tests still require careful target and option selection.

Alternatives

For a broader set of disk benchmark options, browse Disk Benchmark Software. Consider Parkdale if you want a free option that also supports Android; choose fio when workload definition and remote jobs matter more. DaVinci Resolve is a video-editing alternative with a free plan and a paid Studio version at $295, paid once, rather than a storage workload simulator. Quickbench is a free Linux-based server Bash script with no specific dependencies, a simpler alternative if fio's workload controls are unnecessary. AS SSD Benchmark is a free Windows freeware option if you want a small download rather than fio's configurable command-line tests. Buddi is free GPLv2 budgeting software, not a storage benchmark. D-Bench offers a free Windows option with several themes if a Windows benchmark is preferred. dperf is a free AGPL-3.0 Linux drive-benchmarking alternative. Filebench is a free Linux alternative when a Linux-only option is acceptable.

Verdict

Choose fio if you need a free, highly configurable way to simulate storage I/O, measure performance, or run jobs remotely. Its control and output options are compelling for technical users; look elsewhere if you want a graphical, preset benchmark that needs little setup.

Alternatives to fio

Every alternative, ranked