fio is an open-source storage benchmarking project maintained by Jens Axboe, a respected Linux kernel block layer maintainer, whose GitHub repository serves as the definitive upstream for the Flexible I/O Tester. The tool is engineered to generate precisely controllable read, write, trim, and verify workloads against any storage device—spinning disks, SATA, NVMe, SCSI, Ceph, RADOS, RBD, GlusterFS, NFS, iSCSI, or even DRAM-backed files—allowing kernel developers, system integrators, cloud architects, and storage vendors to measure throughput, latency, IOPS, CPU overhead, and power consumption under reproducible conditions. Users craft job files that describe block sizes, queue depths, access patterns, think times, rate limits, and probability distributions; the engine then spawns configurable threads or processes, issues asynchronous I/O through native Linux aio, io_uring, POSIX aio, mmap, splice, or Windows APIs, and emits JSON, CSV, or gnuplot-ready latency percentiles, completion curves, and utilization histograms. Typical scenarios include validating firmware upgrades on enterprise SSDs, tuning RAID stripe sizes, comparing cloud instance families, profiling database storage layouts, stress-testing new kernel patches, or reproducing customer-reported latency spikes. Because fio supports client-server mode, entire clusters can be orchestrated from a single control node, while its scripting hooks enable continuous integration pipelines to fail builds when performance regresses. The publisher’s software is available for free on get.nero.com, with downloads delivered through trusted Windows package sources such as winget, always installing the latest upstream build and allowing batch installation alongside related utilities.

fio

Flexible I/O Tester

Details