Benchmarking

fio – scriptable I/O tool for storage benchmarks and drive testing

fio was created to allow benchmarking specific disk IO workloads. It can issue its IO requests using one of many synchronous and asynchronous IO APIs, and can also use various APIs which allow many IO requests to be issued with a single API call.

fio accepts job descriptions in a simple-to-understand text format. Several example job files are included. Fio displays all sorts of I/O performance information, including complete IO latencies and percentiles.

fio is a tool that will spawn a number of threads or processes doing a particular type of I/O action as specified by the user.

The typical use of fio is to write a job file matching the I/O load one wants to simulate.

fio spawns a number of threads or processes doing a particular type of I/O action as specified by the user. fio takes a number of global parameters, each inherited by the thread unless otherwise parameters given to them overriding that setting is given. The typical use of fio is to write a job file matching the I/O load one wants to simulate.

Key Features

  • Uses pthread mutexes for signalling and locking.
  • Various global options through which different type of workloads can be generated.
  • Wide range of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio, and more).
  • Batch mode.
  • Very extensive set of parameters.
  • Cross-platform support – works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD, Windows, FreeBSD, and DragonFly. Some features and/or options may only be available on some of the platforms.

Website: github.com/axboe/fio
Support: Mailing List
Developer: Jens Axboe and many contributors
License: GNU General Public License version 2.0

fio is written in C. Learn C with our recommended free books and free tutorials.


Related Software

Benchmark Tools
hyperfineRust-based command-line benchmarking tool
Phoronix Test SuiteComprehensive testing and benchmarking platform
s-tuiTerminal-based stress test and monitoring tool
fioScriptable I/O tool for storage benchmarks and drive testing
KDiskMarkHDD and SSD benchmarking with friendly graphical user interface
iperf3Active measurement of network performance on IP networks
IOzoneFilesystem benchmark tool
stress-ngStress next generation
Hardinfo2System information and benchmark tool
sysbenchScriptable database and system performance benchmark
GtkStressTestingStress and monitor hardware components
glmark2Measure the performance of OpenGL 2.0 and OpenGL ES 2.0
HardInfoSystem Profiler and Benchmark
UnixBenchOriginal BYTE UNIX benchmark suite
netperfA network performance benchmark
vkmarkVulkan benchmarking suite
GNOME DisksView, modify and configure disks and media
bonnie++Benchmark suite software
LLCbenchLow Level Architectural Characterization Benchmark Suite

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments