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

Limit displaying results to tests within:

CPU Massive 2 Tests
Disk Test Suite 5 Tests
Server 2 Tests

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Geometric Means Per-Suite/Category
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
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 Hiding All Results Option
 

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

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 PerformanceEXT4F2FSBtrfsXFSBtrfsEXT4F2FS 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.639.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.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.188243132.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.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.89399535.23216.58282.43221.19430.3077.3252.1345.7730292393448325.146199131.38213.1294.47250.5697.3268.6050.1044.9332190504439123.51669741.10225.81286.24205.06427.1563.4551.6343.5523030556010441.34657840.00216.39287.17217.75428.9064.0752.6745.2731549974938435.937980OpenBenchmarking.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.

MinAvgMaxEXT437.939.141.1F2FS40.040.140.3Btrfs84.9108.4132.0XFS35.135.235.3OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.8.10.2Test Target: Default Test DirectoryLinux 4.7Linux 4.8Linux 4.9Linux 4.64080120160200

Flexible IO Tester

MinAvgMaxEXT4210.7215.0225.8F2FS207.4214.5220.9Btrfs210.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.7Linux 4.8Linux 4.9Linux 4.660120180240300

MinAvgMaxEXT4286.2304.4355.9F2FS286.0304.7357.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.7Linux 4.8Linux 4.9Linux 4.6100200300400500

MinAvgMaxEXT4127.3192.3226.6F2FS128.5196.4221.1Btrfs244.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.7Linux 4.8Linux 4.9Linux 4.660120180240300

MinAvgMaxEXT4359.8411.5430.1F2FS360.7412.5430.8Btrfs91.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.7Linux 4.8Linux 4.9Linux 4.6110220330440550

FS-Mark

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

MinAvgMaxEXT461.662.363.5F2FS63.063.664.1Btrfs55.965.171.6XFS77.393.2103.7OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeLinux 4.7Linux 4.8Linux 4.9Linux 4.620406080100

MinAvgMaxEXT451.351.551.6F2FS47.751.252.7Btrfs49.750.351.1XFS51.552.353.1OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsLinux 4.7Linux 4.8Linux 4.9Linux 4.61530456075

MinAvgMaxEXT442.643.143.6F2FS45.045.245.3Btrfs44.945.546.2XFS45.245.646.0OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeLinux 4.7Linux 4.8Linux 4.9Linux 4.61224364860

BlogBench

MinAvgMaxEXT4227397824123212607836F2FS315499732381763336775Btrfs307044831735323234609XFS302923931592903268490OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: ReadLinux 4.7Linux 4.8Linux 4.9Linux 4.6800K1600K2400K3200K4000K

MinAvgMaxEXT4544058086010F2FS352343114938Btrfs443945564680XFS331133893448OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: WriteLinux 4.7Linux 4.8Linux 4.9Linux 4.616003200480064008000

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.

MinAvgMaxEXT4439.5446.2452.3F2FS356.2400.4435.9Btrfs123.5154.9192.5XFS303.9321.2345.1OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateLinux 4.7Linux 4.8Linux 4.9Linux 4.6120240360480600

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.

MinAvgMaxEXT4646665816756F2FS798081338243Btrfs630365846697XFS392850716199OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceLinux 4.7Linux 4.8Linux 4.9Linux 4.62K4K6K8K10K