fio, the Flexible I/O Tester, is a highly configurable workload generator for testing storage devices and I/O subsystems.
Rather than imposing a fixed benchmark, fio lets you describe the workload you want to reproduce. Jobs can vary access patterns, block sizes, queue depths, numbers of workers, read/write ratios and many other parameters.
It is equally useful for measuring straightforward SSD performance and for recreating complex workloads when investigating latency, throughput or storage-related problems.
This is free and open source software.
Key Features
- Defines workloads using reusable job files or command-line options.
- Runs multiple threads or processes with independently configurable I/O workloads.
- Supports sequential, random and mixed read/write workloads.
- Works with synchronous and asynchronous I/O interfaces including modern Linux I/O engines.
- Measures bandwidth, IOPS and detailed latency statistics.
- Supports configurable block sizes, queue depths and numbers of jobs.
- Can test buffered and direct I/O.
- Provides data verification facilities for checking I/O correctness.
- Supports rate limiting and controlled workload generation.
- Can exercise files, block devices and other supported I/O targets.
- Produces machine-readable output suitable for automated analysis.
- Runs on Linux and a range of other operating systems.
Website: github.com/axboe/fio
Support:
Developer: Jens Axboe and contributors
License: GNU General Public License v2.0
fio is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Benchmark Tools | |
|---|---|
| hyperfine | Rust-based command-line benchmarking tool |
| Phoronix Test Suite | Comprehensive testing and benchmarking platform |
| s-tui | Terminal-based stress test and monitoring tool |
| fio | Scriptable I/O tool for storage benchmarks and drive testing |
| KDiskMark | HDD and SSD benchmarking with friendly graphical user interface |
| iperf3 | Active measurement of network performance on IP networks |
| stress-ng | Stress next generation |
| Hardinfo2 | System information and benchmark tool |
| sysbench | Scriptable database and system performance benchmark |
| GtkStressTesting | Stress and monitor hardware components |
| glmark2 | Measure the performance of OpenGL 2.0 and OpenGL ES 2.0 |
| UnixBench | Original BYTE UNIX benchmark suite |
| Likwid | Performance monitoring and benchmarking tools for Linux systems |
| netperf | A network performance benchmark |
| vkmark | Vulkan benchmarking suite |
| GNOME Disks | View, modify and configure disks and media |
| elbencho | Distributed benchmark for storage and network performance |
| bonnie++ | Benchmark suite software |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.