Flexible IO Tester

FIO, the Flexible I/O Tester, is an advanced Linux disk benchmark supporting multiple I/O engines and a wealth of options. FIO was written by Jens Axboe for testing of the Linux I/O subsystem and schedulers.

Learn more about this test at the upstream project site: http://git.kernel.dk/?p=fio.git;a=summary.

This benchmark test profile is maintained by Michael Larabel. This OpenBenchmarking.org test profile was created on 6 December 2010 and last updated on 6 December 2020. To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark fio.

This test has an average install time of 3 seconds and an average run-time of 1 minute, 29 seconds.

300k+ Downloads + 10k+ Public Benchmark Results

Public Result UploadsTest Completion StatsReported InstallsOpenBenchmarking.orgEventsFlexible IO Tester Popularity Statistics*pts/fio2011.012011.052011.092012.012012.052012.092013.012013.052013.092014.012014.052014.092015.012015.052015.092016.012016.052016.092017.012017.052017.092018.012018.052018.092019.012019.052019.092020.012020.052020.092021.01300K600K900K1200K1500K

* 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.
Data current as of Fri, 15 Jan 2021 03:51:55 GMT.

Random Write25.7%Sequential Read24.3%Sequential Write23.1%Random Read26.9%Type Option PopularityOpenBenchmarking.org
Linux AIO26.4%POSIX AIO21.9%IO_uring27.9%Sync23.8%Engine Option PopularityOpenBenchmarking.org
Yes46.7%No53.3%Buffered Option PopularityOpenBenchmarking.org
No47.1%Yes52.9%Direct Option PopularityOpenBenchmarking.org
512KB5.2%1MB5.8%8KB7.6%2MB17.6%4MB5.8%4KB20.3%32KB5.6%16KB5.4%128KB5.2%256KB5.5%8MB10.5%64KB5.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:

Flexible IO Tester 3.25

Type: Sequential Read - Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.org metrics for this test profile configuration based on 111 public results since 6 December 2020 with the latest data as of 15 January 2021.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Percentile Rank
# Matching Public Results
MB/s (Average)
< 1134
OpenBenchmarking.orgDistribution Of Public Results - Type: Sequential Read - Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory111 Results Range From 1 To 2316 MB/s1499714519324128933738543348152957762567372176981786591396110091057110511531201124912971345139314411489153715851633168117291777182518731921196920172065211321612209225723052353510152025

Based on OpenBenchmarking.org data, the selected test / test configuration (Flexible IO Tester 3.25 - Type: Sequential Read - Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory) has an average run-time of 5 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkType: Sequential Read - Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryRun-Time816243240Min: 1 / Avg: 4.4 / Max: 39

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 0.9%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsType: Sequential Read - Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryDeviation3691215Min: 0 / Avg: 0.94 / Max: 8

Recent Test Results


1 System - 96 Benchmark Results

Unknown - Huawei BC82AMDDA - Huawei HiSilicon

CentOS Linux 7 - 4.14.0-115.el7a.0.1.aarch64 - GNOME Shell 3.28.3