File-System Testing Up To Linux 4.9

Linux 4.6 through Linux 4.9 file-system benchmarks using EXT4, F2FS, Btrfs, and XFS. Benchmarks by Michael Larabel for a future article on Phoronix.com.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 1612133-TA-FILESYSTE79
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results
Show Result Confidence Charts
Allow Limiting Results To Certain Suite(s)

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs
On Line Graphs With Missing Data, Connect The Line Gaps

Multi-Way Comparison

Condense Comparison
Transpose Comparison

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
Performance Per
Dollar
Date
Run
  Test
  Duration
EXT4: Linux 4.6
December 11 2016
 
EXT4: Linux 4.7
December 09 2016
 
EXT4: Linux 4.8
December 09 2016
 
EXT4: Linux 4.9
December 10 2016
 
F2FS: Linux 4.6
December 11 2016
 
F2FS: Linux 4.7
December 10 2016
 
F2FS: Linux 4.8
December 10 2016
 
F2FS: Linux 4.9
December 10 2016
 
Btrfs: Linux 4.6
December 11 2016
 
Btrfs: Linux 4.7
December 10 2016
 
Btrfs: Linux 4.8
December 10 2016
 
Btrfs: Linux 4.9
December 10 2016
 
XFS: Linux 4.6
December 11 2016
 
XFS: Linux 4.7
December 11 2016
 
XFS: Linux 4.8
December 11 2016
 
XFS: Linux 4.9
December 11 2016
 
Invert Behavior (Only Show Selected Data)
 

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionEXT4F2FSBtrfsXFSBtrfsEXT4F2FS Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.6 Linux 4.6 Linux 4.6 Linux 4.6Intel Core i7-6800K @ 3.80GHz (12 Cores)MSI X99A WORKSTATION (MS-7A54) v1.0Intel Xeon E7 v4/Xeon16384MB120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150NVIDIA GeForce GTX TITAN X 12288MBRealtek ALC1150ASUS PB278Intel ConnectionUbuntu 16.104.7.0-040700-generic (x86_64)Unity 7.5.0X Server 1.18.4nouveau 1.0.123.3 Mesa 12.0.3 Gallium 0.4GCC 6.2.0 20161005ext42560x14404.8.0-040800-generic (x86_64)4.9.0-999-generic (x86_64) 201612094.7.0-040700-generic (x86_64)f2fs4.8.0-040800-generic (x86_64)4.9.0-999-generic (x86_64) 201612094.7.0-040700-generic (x86_64)btrfs4.8.0-040800-generic (x86_64)4.9.0-999-generic (x86_64) 201612094.7.0-040700-generic (x86_64)xfs4.8.0-040800-generic (x86_64)4.9.0-999-generic (x86_64) 201612094.6.0-040600-generic (x86_64)btrfsext4f2fsOpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Processor Details- Scaling Governor: intel_pstate powersaveSystem Details- Python 2.7.12+.Disk Mount Options Details- EXT4: Linux 4.7: data=ordered,relatime,rw- EXT4: Linux 4.8: data=ordered,relatime,rw- EXT4: Linux 4.9: data=ordered,relatime,rw- F2FS: Linux 4.7: acl,active_logs=6,background_gc=on,extent_cache,inline_data,relatime,rw,user_xattr- F2FS: Linux 4.8: acl,active_logs=6,background_gc=on,extent_cache,flush_merge,inline_data,lazytime,mode=adaptive,relatime,rw,user_xattr- F2FS: Linux 4.9: acl,active_logs=6,background_gc=on,extent_cache,flush_merge,inline_data,inline_dentry,lazytime,mode=adaptive,relatime,rw,user_xattr- Btrfs: Linux 4.7: relatime,rw,space_cache,ssd,subvol=/,subvolid=5- Btrfs: Linux 4.8: relatime,rw,space_cache,ssd,subvol=/,subvolid=5- Btrfs: Linux 4.9: relatime,rw,space_cache,ssd,subvol=/,subvolid=5- XFS: Linux 4.7: attr2,inode64,noquota,relatime,rw- XFS: Linux 4.8: attr2,inode64,noquota,relatime,rw- XFS: Linux 4.9: attr2,inode64,noquota,relatime,rw- XFS: Linux 4.6: attr2,inode64,noquota,relatime,rw- Btrfs: Linux 4.6: relatime,rw,space_cache,ssd,subvol=/,subvolid=5- EXT4: Linux 4.6: data=ordered,relatime,rw- F2FS: Linux 4.6: acl,active_logs=6,background_gc=on,extent_cache,inline_data,relatime,rw,user_xattr

blogbench: Readblogbench: Writecompilebench: Initial Createfio: Rand Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/sfio: Rand Write - Libaio - No - Yes - 4KB - Default Test Directory - MB/sfio: Seq Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/sfio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directory - MB/sfs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizepostmark: Disk Transaction Performancesqlite: Default Test DirectoryEXT4F2FSBtrfsXFSBtrfsEXT4F2FS Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.6 Linux 4.6 Linux 4.6 Linux 4.624644165440439.47210.79287.06226.64430.0762.4851.3343.16675639.0726078365863452.33210.70355.87127.31359.7761.6051.4742.96652237.8922739785920451.62212.53288.47210.01428.9861.7751.6342.63646638.2533367754452405.82207.41287.63218.37429.5663.8852.4045.30815440.3332028124332403.59220.92357.91128.54360.7163.3247.7044.95815439.9732581193523356.18213.47286.02221.09430.8262.9852.2045.30824340.0032346094451133.18212.1593.06244.4299.2571.5549.7346.176697132.0031700214680170.60210.1690.57248.3491.0855.9351.0746.08663785.4730704484655192.47216.2790.31250.3699.1164.4250.3044.92630384.8732271483311310.81215.67287.46227.45430.7298.1551.4745.37616335.3132684903417345.05214.86352.00128.42359.56103.7052.4045.23392835.1231122813380303.89215.99279.83222.20430.1193.5253.0745.98399535.3330292393448325.14216.58282.43221.19430.3077.3252.1345.77619935.2332190504439123.51213.1294.47250.5697.3268.6050.1044.936697131.3823030556010441.34225.81286.24205.06427.1563.4551.6343.55657841.1031549974938435.93216.39287.17217.75428.9064.0752.6745.27798040.00OpenBenchmarking.org

BlogBench

MinAvgMaxF2FS315499732381763336775EXT4227397824123212607836Btrfs307044831735323234609XFS302923931592903268490OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: ReadLinux 4.6Linux 4.9Linux 4.8Linux 4.7800K1600K2400K3200K4000K

MinAvgMaxF2FS352343114938EXT4544058086010Btrfs443945564680XFS331133893448OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: WriteLinux 4.6Linux 4.9Linux 4.8Linux 4.716003200480064008000

Compile Bench

Compilebench tries to age a filesystem by simulating some of the disk IO common in creating, compiling, patching, stating and reading kernel trees. It indirectly measures how well filesystems can maintain directory locality as the disk fills up and directories age. This current test is setup to use the makej mode with 10 initial directories Learn more via the OpenBenchmarking.org test page.

MinAvgMaxF2FS356.2400.4435.9EXT4439.5446.2452.3Btrfs123.5154.9192.5XFS303.9321.2345.1OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateLinux 4.6Linux 4.9Linux 4.8Linux 4.7120240360480600

Flexible IO Tester

MinAvgMaxF2FS207.4214.5220.9EXT4210.7215.0225.8Btrfs210.2212.9216.3XFS214.9215.8216.6OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/sLinux 4.6Linux 4.9Linux 4.8Linux 4.760120180240300

MinAvgMaxF2FS286.0304.7357.9EXT4286.2304.4355.9Btrfs90.392.194.5XFS279.8300.4352.0OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/sLinux 4.6Linux 4.9Linux 4.8Linux 4.7100200300400500

MinAvgMaxF2FS128.5196.4221.1EXT4127.3192.3226.6Btrfs244.4248.4250.6XFS128.4199.8227.5OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/sLinux 4.6Linux 4.9Linux 4.8Linux 4.760120180240300

MinAvgMaxF2FS360.7412.5430.8EXT4359.8411.5430.1Btrfs91.196.799.3XFS359.6412.7430.7OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/sLinux 4.6Linux 4.9Linux 4.8Linux 4.7110220330440550

FS-Mark

FS_Mark is designed to test a system's file-system performance. Learn more via the OpenBenchmarking.org test page.

MinAvgMaxF2FS63.063.664.1EXT461.662.363.5Btrfs55.965.171.6XFS77.393.2103.7OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeLinux 4.6Linux 4.9Linux 4.8Linux 4.720406080100

MinAvgMaxF2FS47.751.252.7EXT451.351.551.6Btrfs49.750.351.1XFS51.552.353.1OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsLinux 4.6Linux 4.9Linux 4.8Linux 4.71530456075

MinAvgMaxF2FS45.045.245.3EXT442.643.143.6Btrfs44.945.546.2XFS45.245.646.0OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeLinux 4.6Linux 4.9Linux 4.8Linux 4.71224364860

PostMark

This is a test of NetApp's PostMark benchmark designed to simulate small-file testing similar to the tasks endured by web and mail servers. This test profile will set PostMark to perform 25,000 transactions with 500 files simultaneously with the file sizes ranging between 5 and 512 kilobytes. Learn more via the OpenBenchmarking.org test page.

MinAvgMaxF2FS798081338243EXT4646665816756Btrfs630365846697XFS392850716199OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceLinux 4.6Linux 4.9Linux 4.8Linux 4.72K4K6K8K10K

SQLite

This is a simple benchmark of SQLite. At present this test profile just measures the time to perform a pre-defined number of insertions on an indexed database. Learn more via the OpenBenchmarking.org test page.

MinAvgMaxF2FS40.040.140.3EXT437.939.141.1Btrfs84.9108.4132.0XFS35.135.235.3OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.8.10.2Test Target: Default Test DirectoryLinux 4.6Linux 4.9Linux 4.8Linux 4.74080120160200