Flexible IO Tester

Fio is an advanced disk benchmark that depends upon the kernel's AIO access library.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark fio.

Project Site


Test Created

6 December 2010

Last Updated

6 December 2020

Test Maintainer

Michael Larabel 

Test Type


Average Install Time

12 Seconds

Average Run Time

1 Minute, 29 Seconds

Test Dependencies

C/C++ Compiler Toolchain + Linux AIO


300k+ Downloads + 10k+ Public Benchmark Results

Supported Platforms

Public Result Uploads *Reported Test Completions **Reported Installs **Test Profile Page Views ***OpenBenchmarking.orgEventsFlexible IO Tester Popularity Statisticspts/fio2010.122011.042011.082011.122012.042012.082012.122013.042013.082013.122014.042014.082014.122015.042015.082015.122016.042016.082016.122017.042017.082017.122018.042018.082018.122019.042019.082019.122020.042020.082020.122021.042021.08400K800K1200K1600K2000K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data current as of 16 October 2021.
Random Write26.7%Sequential Read23.8%Sequential Write23.1%Random Read26.4%Type Option PopularityOpenBenchmarking.org
Linux AIO33.7%POSIX AIO21.0%IO_uring21.9%Sync23.3%Engine Option PopularityOpenBenchmarking.org
Yes42.5%No57.5%Buffered Option PopularityOpenBenchmarking.org
No42.8%Yes57.2%Direct Option PopularityOpenBenchmarking.org
512KB6.7%1MB7.4%8KB8.0%2MB16.8%4KB30.0%32KB5.9%16KB6.0%8MB10.8%64KB8.4%Block Size Option PopularityOpenBenchmarking.org

Revision History

pts/fio-1.14.1   [View Source]   Sun, 06 Dec 2020 08:57:28 GMT
Few fixes for prior commit.

pts/fio-1.14.0   [View Source]   Sat, 05 Dec 2020 21:04:49 GMT
Update against FIO 3.25, drop Windows compatibility for now due to lack of builds.

pts/fio-1.13.2   [View Source]   Fri, 24 Apr 2020 18:41:03 GMT
Build fix for GCC 10 default compiler flags.

pts/fio-1.13.1   [View Source]   Fri, 03 Apr 2020 15:19:21 GMT
Fix for alternate directory handling per

pts/fio-1.13.0   [View Source]   Fri, 21 Feb 2020 08:50:41 GMT
Update against fio 3.18, expose io_uring now that it is sufficiently mature.

pts/fio-1.12.1   [View Source]   Sat, 04 Jan 2020 16:21:17 GMT
Updates from https://github.com/phoronix-test-suite/test-profiles/pull/114

pts/fio-1.12.0   [View Source]   Wed, 09 Oct 2019 10:01:30 GMT
Update against fio 3.16 to avoid build problems with the old fio on newer distributions.

pts/fio-1.11.5   [View Source]   Sat, 09 Feb 2019 11:08:30 GMT
Adjustments per https://github.com/phoronix-test-suite/phoronix-test-suite/issues/337

pts/fio-1.11.4   [View Source]   Sat, 01 Dec 2018 08:49:15 GMT
Fix for 1.11.3 as the XML test defintion got malformed.

pts/fio-1.11.3   [View Source]   Sat, 01 Dec 2018 08:32:44 GMT
Fixes for BSD/FreeBSD support - https://github.com/phoronix-test-suite/test-profiles/pull/41

pts/fio-1.11.2   [View Source]   Sat, 07 Apr 2018 20:07:42 GMT
Drop BSD support since it doesn't work cleanly.

pts/fio-1.11.1   [View Source]   Wed, 28 Feb 2018 19:24:40 GMT
Add Windows FIO support.

pts/fio-1.11.0   [View Source]   Wed, 28 Feb 2018 19:13:31 GMT
Now make the move to fio 3.1.

pts/fio-1.10.1   [View Source]   Wed, 28 Feb 2018 19:05:19 GMT
Update to fio 2.18.

pts/fio-1.9.0   [View Source]   Wed, 01 Feb 2017 21:29:55 GMT
Generae both IOPS and MB/s outputs on PTS Git support code.

pts/fio-1.8.2   [View Source]   Fri, 22 May 2015 17:57:53 GMT
Fix for previous 1.8.1 revision with copy-paste fail.

pts/fio-1.8.1   [View Source]   Wed, 20 May 2015 15:17:50 GMT
Support MB/s output template.

pts/fio-1.8.0   [View Source]   Sat, 28 Mar 2015 08:52:20 GMT
Allow direct value to be a user option.

pts/fio-1.7.1   [View Source]   Thu, 06 Nov 2014 16:16:25 GMT
Ensure directory= is in [global]

pts/fio-1.7.0   [View Source]   Wed, 05 Nov 2014 11:10:36 GMT
Update against fio 2.1.13 upstream.

pts/fio-1.6.2   [View Source]   Tue, 21 Oct 2014 13:13:43 GMT
Fix typo in IO Engine options.

pts/fio-1.6.1   [View Source]   Mon, 13 Oct 2014 18:30:34 GMT
Fix result parsing for new version.

pts/fio-1.6.0   [View Source]   Mon, 13 Oct 2014 09:32:21 GMT
Add new options/

pts/fio-1.5.1   [View Source]   Sat, 13 Sep 2014 17:57:55 GMT
DivideResultBy somehow got left off today\'s earlier commit.

pts/fio-1.5.0   [View Source]   Sat, 13 Sep 2014 11:47:58 GMT
Overhaul of FIO test profile... different output results, more robust, etc per customer requests. REQUIRES LATEST PTS-CORE 5311.

pts/fio-1.4.0   [View Source]   Thu, 17 Jul 2014 11:48:14 GMT
Update against fio 2.1.11, add option to test other disks when PTS finds other mount points available.

pts/fio-1.3.2   [View Source]   Fri, 23 May 2014 22:04:31 GMT
Another fix for FIO provided by Eric Caward.

pts/fio-1.3.1   [View Source]   Fri, 23 May 2014 13:44:25 GMT
Fix for fio test execution.

pts/fio-1.3.0   [View Source]   Thu, 22 May 2014 21:34:49 GMT
Update fio test profile against upstream 2.1.9 release.

pts/fio-1.2.0   [View Source]   Sat, 27 Aug 2011 13:51:20 GMT
Update fio upstream to version 1.57.

pts/fio-1.1.0   [View Source]   Mon, 06 Dec 2010 14:47:30 GMT
Initial import into OpenBenchmarking.org

Suites Using This Test

Disk Test Suite

Performance Metrics

Analyze Test Configuration: