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 ResolutionEXT4F2FSBtrfsXFS Linux 4.6 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.6 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.6 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.6 Linux 4.7 Linux 4.8 Linux 4.9Intel 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.6.0-040600-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.7.0-040700-generic (x86_64)4.8.0-040800-generic (x86_64)4.9.0-999-generic (x86_64) 201612094.6.0-040600-generic (x86_64)f2fs4.7.0-040700-generic (x86_64)4.8.0-040800-generic (x86_64)4.9.0-999-generic (x86_64) 201612094.6.0-040600-generic (x86_64)btrfs4.7.0-040700-generic (x86_64)4.8.0-040800-generic (x86_64)4.9.0-999-generic (x86_64) 201612094.6.0-040600-generic (x86_64)xfs4.7.0-040700-generic (x86_64)4.8.0-040800-generic (x86_64)4.9.0-999-generic (x86_64) 20161209OpenBenchmarking.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.6: data=ordered,relatime,rw- 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.6: acl,active_logs=6,background_gc=on,extent_cache,inline_data,relatime,rw,user_xattr- 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.6: relatime,rw,space_cache,ssd,subvol=/,subvolid=5- 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.6: attr2,inode64,noquota,relatime,rw- 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

sqlite: Default Test Directoryfio: 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 Sizeblogbench: Readblogbench: Writecompilebench: Initial Createpostmark: Disk Transaction PerformanceEXT4F2FSBtrfsXFS Linux 4.6 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.6 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.6 Linux 4.7 Linux 4.8 Linux 4.9 Linux 4.6 Linux 4.7 Linux 4.8 Linux 4.941.10225.81286.24205.06427.1563.4551.6343.5523030556010441.34657839.07210.79287.06226.64430.0762.4851.3343.1624644165440439.47675637.89210.70355.87127.31359.7761.6051.4742.9626078365863452.33652238.25212.53288.47210.01428.9861.7751.6342.6322739785920451.62646640.00216.39287.17217.75428.9064.0752.6745.2731549974938435.93798040.33207.41287.63218.37429.5663.8852.4045.3033367754452405.82815439.97220.92357.91128.54360.7163.3247.7044.9532028124332403.59815440.00213.47286.02221.09430.8262.9852.2045.3032581193523356.188243131.38213.1294.47250.5697.3268.6050.1044.9332190504439123.516697132.00212.1593.06244.4299.2571.5549.7346.1732346094451133.18669785.47210.1690.57248.3491.0855.9351.0746.0831700214680170.60663784.87216.2790.31250.3699.1164.4250.3044.9230704484655192.47630335.23216.58282.43221.19430.3077.3252.1345.7730292393448325.14619935.31215.67287.46227.45430.7298.1551.4745.3732271483311310.81616335.12214.86352.00128.42359.56103.7052.4045.2332684903417345.05392835.33215.99279.83222.20430.1193.5253.0745.9831122813380303.893995OpenBenchmarking.org

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.

MinAvgMaxBtrfs84.9108.4132.0EXT437.939.141.1F2FS40.040.140.3XFS35.135.235.3OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.8.10.2Test Target: Default Test DirectoryLinux 4.6Linux 4.7Linux 4.8Linux 4.94080120160200

Flexible IO Tester

MinAvgMaxBtrfs210.2212.9216.3EXT4210.7215.0225.8F2FS207.4214.5220.9XFS214.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.7Linux 4.8Linux 4.960120180240300

MinAvgMaxBtrfs90.392.194.5EXT4286.2304.4355.9F2FS286.0304.7357.9XFS279.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.7Linux 4.8Linux 4.9100200300400500

MinAvgMaxBtrfs244.4248.4250.6EXT4127.3192.3226.6F2FS128.5196.4221.1XFS128.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.7Linux 4.8Linux 4.960120180240300

MinAvgMaxBtrfs91.196.799.3EXT4359.8411.5430.1F2FS360.7412.5430.8XFS359.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.7Linux 4.8Linux 4.9110220330440550

FS-Mark

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

MinAvgMaxBtrfs55.965.171.6EXT461.662.363.5F2FS63.063.664.1XFS77.393.2103.7OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeLinux 4.6Linux 4.7Linux 4.8Linux 4.920406080100

MinAvgMaxBtrfs49.750.351.1EXT451.351.551.6F2FS47.751.252.7XFS51.552.353.1OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsLinux 4.6Linux 4.7Linux 4.8Linux 4.91530456075

MinAvgMaxBtrfs44.945.546.2EXT442.643.143.6F2FS45.045.245.3XFS45.245.646.0OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeLinux 4.6Linux 4.7Linux 4.8Linux 4.91224364860

BlogBench

MinAvgMaxBtrfs307044831735323234609EXT4227397824123212607836F2FS315499732381763336775XFS302923931592903268490OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: ReadLinux 4.6Linux 4.7Linux 4.8Linux 4.9800K1600K2400K3200K4000K

MinAvgMaxBtrfs443945564680EXT4544058086010F2FS352343114938XFS331133893448OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: WriteLinux 4.6Linux 4.7Linux 4.8Linux 4.916003200480064008000

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.

MinAvgMaxBtrfs123.5154.9192.5EXT4439.5446.2452.3F2FS356.2400.4435.9XFS303.9321.2345.1OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateLinux 4.6Linux 4.7Linux 4.8Linux 4.9120240360480600

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.

MinAvgMaxBtrfs630365846697EXT4646665816756F2FS798081338243XFS392850716199OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceLinux 4.6Linux 4.7Linux 4.8Linux 4.92K4K6K8K10K