Linux 4.0 SSD File-System Testing

Solid state drive file-system comparison on Linux 4.0. Benchmarks by Michael Larabel for a future article on Phoronix testing Linux SSDs.

HTML result view exported from: https://openbenchmarking.org/result/1504126-BE-LINUX4SSD00&gru&sor.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLinux 3.19Linux 4.0 Git EXT4 Btrfs XFS F2FS EXT4 Btrfs XFS F2FSIntel Core i7-5960X @ 3.50GHz (16 Cores)Gigabyte X99-UD4-CFIntel Xeon E5 v3/Core16384MB240GB OCZ VERTEX3 + 120GB OCZ VECTOR150Gigabyte AMD Radeon R9 270X 2048MBIntel C610/X99SyncMasterIntel ConnectionUbuntu 15.043.19.0-031900-generic (x86_64)Unity 7.3.2X Server 1.17.1radeon 7.5.03.3 Mesa 10.5.2 Gallium 0.4GCC 4.9.2ext42560x1600LLVMpipe3.0 Mesa 10.5.2 Gallium 0.4btrfsGigabyte AMD Radeon R9 270X 2048MB3.3 Mesa 10.5.2 Gallium 0.4xfsLLVMpipe3.0 Mesa 10.5.2 Gallium 0.4f2fsGigabyte AMD Radeon R9 270X 2048MB4.0.0-999-generic (x86_64)3.3 Mesa 10.5.2 Gallium 0.4ext4btrfsxfsf2fsOpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --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 --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details- Linux 3.19: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.19: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 3.19: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.19: F2FS: DEADLINE / acl,active_logs=6,background_gc=on,relatime,rw,user_xattr- Linux 4.0 Git: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 4.0 Git: Btrfs: DEADLINE / relatime,rw,space_cache,ssd- Linux 4.0 Git: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 4.0 Git: F2FS: DEADLINE / acl,active_logs=6,background_gc=on,relatime,rw,user_xattrProcessor Details- Scaling Governor: intel_pstate powersaveSystem Details- Disk Scheduler: DEADLINE. Python 2.7.9.

fs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizefio: Rand Write - POSIX AIO - Yes - No - 4KB - Default Test Directory - MB/sfio: Rand Read - POSIX AIO - Yes - No - 128KB - Default Test Directory - MB/sfio: Seq Read - POSIX AIO - Yes - No - 4KB - Default Test Directory - MB/sfio: Seq Read - POSIX AIO - Yes - No - 128KB - Default Test Directory - MB/scompilebench: Initial Createpostmark: Disk Transaction PerformanceLinux 3.19Linux 4.0 Git EXT4 Btrfs XFS F2FS EXT4 Btrfs XFS F2FS201.57352.93212.30178.75277.20427.62429.89284.564807217.20368.17216.4796.77152.76472.03477.32118.913305199.33354.83211.60232.74276.24429.09429.07234.955282231.40369.90228.67382.58500.67529.73232.285132203.08353.20211.77186.31276.08429.26429.53290.334807236.83396.40237.8093.65167.08497.77498.61145.014238200.27354.83209.20215.61277.39430.49429.71240.845068246.10381.37251.10410.68550.24559.78284.025357OpenBenchmarking.org

FS-Mark

Test: 1000 Files, 1MB Size

Linux 4.0 GitLinux 3.19OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeF2FSBtrfsEXT4XFS50100150200250SE +/- 0.61, N = 3SE +/- 4.21, N = 6SE +/- 9.22, N = 6SE +/- 12.96, N = 6SE +/- 1.51, N = 3SE +/- 0.50, N = 3SE +/- 10.73, N = 6SE +/- 15.17, N = 6246.10236.83203.08200.27231.40217.20201.57199.331. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

Linux 4.0 GitLinux 3.19OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsBtrfsF2FSXFSEXT490180270360450SE +/- 0.06, N = 3SE +/- 1.24, N = 3SE +/- 0.86, N = 3SE +/- 0.40, N = 3SE +/- 1.33, N = 3SE +/- 0.03, N = 3SE +/- 1.03, N = 3SE +/- 0.13, N = 3396.40381.37354.83353.20369.90368.17354.83352.931. (CC) gcc options: -static

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

Linux 4.0 GitLinux 3.19OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeF2FSBtrfsEXT4XFS50100150200250SE +/- 3.60, N = 3SE +/- 0.31, N = 3SE +/- 0.23, N = 3SE +/- 0.26, N = 3SE +/- 1.21, N = 3SE +/- 0.55, N = 3SE +/- 0.25, N = 3SE +/- 0.85, N = 3251.10237.80211.77209.20228.67216.47212.30211.601. (CC) gcc options: -static

Flexible IO Tester

Type: Random Write - IO Engine: POSIX AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s

Linux 3.19Linux 4.0 GitOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Write - IO Engine: POSIX AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/sXFSEXT4Btrfs50100150200250SE +/- 18.22, N = 6SE +/- 9.54, N = 6SE +/- 5.00, N = 6SE +/- 12.38, N = 6SE +/- 12.61, N = 6SE +/- 4.71, N = 6232.74178.7596.77215.61186.3193.651. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

Type: Random Read - IO Engine: POSIX AIO - Buffered: Yes - Direct: No - Block Size: 128KB - Disk Target: Default Test Directory - Result: MB/s

Linux 4.0 GitLinux 3.19OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Random Read - IO Engine: POSIX AIO - Buffered: Yes - Direct: No - Block Size: 128KB - Disk Target: Default Test Directory - Result: MB/sF2FSXFSEXT4Btrfs90180270360450SE +/- 75.07, N = 6SE +/- 0.14, N = 3SE +/- 0.77, N = 3SE +/- 0.78, N = 3SE +/- 70.02, N = 6SE +/- 0.15, N = 3SE +/- 0.45, N = 3SE +/- 0.20, N = 3410.68277.39276.08167.08382.58277.20276.24152.761. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: POSIX AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s

Linux 4.0 GitLinux 3.19OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Read - IO Engine: POSIX AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/sF2FSBtrfsXFSEXT4120240360480600SE +/- 77.22, N = 6SE +/- 0.32, N = 3SE +/- 0.28, N = 3SE +/- 0.46, N = 3SE +/- 64.72, N = 6SE +/- 1.14, N = 3SE +/- 0.43, N = 3SE +/- 1.13, N = 3550.24497.77430.49429.26500.67472.03429.09427.621. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: POSIX AIO - Buffered: Yes - Direct: No - Block Size: 128KB - Disk Target: Default Test Directory - Result: MB/s

Linux 4.0 GitLinux 3.19OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Read - IO Engine: POSIX AIO - Buffered: Yes - Direct: No - Block Size: 128KB - Disk Target: Default Test Directory - Result: MB/sF2FSBtrfsEXT4XFS120240360480600SE +/- 85.92, N = 6SE +/- 0.39, N = 3SE +/- 0.38, N = 3SE +/- 0.54, N = 3SE +/- 79.60, N = 6SE +/- 0.76, N = 3SE +/- 0.05, N = 3SE +/- 0.23, N = 3559.78498.61429.71429.53529.73477.32429.89429.071. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl

Compile Bench

Test: Initial Create

Linux 4.0 GitLinux 3.19OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateEXT4F2FSXFSBtrfs60120180240300SE +/- 5.04, N = 3SE +/- 36.77, N = 3SE +/- 1.35, N = 3SE +/- 2.06, N = 3SE +/- 5.26, N = 3SE +/- 2.16, N = 3SE +/- 18.81, N = 3SE +/- 2.25, N = 3290.33284.02240.84145.01284.56234.95232.28118.91

PostMark

Disk Transaction Performance

Linux 4.0 GitLinux 3.19OpenBenchmarking.orgTPS, More Is BetterPostMark 1.51Disk Transaction PerformanceF2FSXFSEXT4Btrfs11002200330044005500SE +/- 38.33, N = 3SE +/- 34.00, N = 3SE +/- 0.00, N = 3SE +/- 41.57, N = 3SE +/- 37.00, N = 3SE +/- 79.37, N = 4SE +/- 0.00, N = 3SE +/- 51.82, N = 3535750684807423852825132480733051. (CC) gcc options: -O3


Phoronix Test Suite v10.8.5