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&rdt&gru.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLinux 4.0 GitLinux 3.19 Btrfs XFS EXT4 F2FS F2FS EXT4 XFS BtrfsIntel 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.044.0.0-999-generic (x86_64)Unity 7.3.2X Server 1.17.1radeon 7.5.03.3 Mesa 10.5.2 Gallium 0.4GCC 4.9.2btrfs2560x1600xfsext4f2fsLLVMpipe3.19.0-031900-generic (x86_64)3.0 Mesa 10.5.2 Gallium 0.4Gigabyte AMD Radeon R9 270X 2048MB3.3 Mesa 10.5.2 Gallium 0.4ext4xfsLLVMpipe3.0 Mesa 10.5.2 Gallium 0.4btrfsOpenBenchmarking.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 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: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 4.0 Git: F2FS: DEADLINE / acl,active_logs=6,background_gc=on,relatime,rw,user_xattr- Linux 3.19: F2FS: DEADLINE / acl,active_logs=6,background_gc=on,relatime,rw,user_xattr- Linux 3.19: EXT4: DEADLINE / data=ordered,relatime,rw- Linux 3.19: XFS: DEADLINE / attr2,inode64,noquota,relatime,rw- Linux 3.19: Btrfs: DEADLINE / relatime,rw,space_cache,ssdProcessor 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 4.0 GitLinux 3.19 Btrfs XFS EXT4 F2FS F2FS EXT4 XFS Btrfs236.83396.40237.8093.65167.08497.77498.61145.014238200.27354.83209.20215.61277.39430.49429.71240.845068203.08353.20211.77186.31276.08429.26429.53290.334807246.10381.37251.10410.68550.24559.78284.025357231.40369.90228.67382.58500.67529.73232.285132201.57352.93212.30178.75277.20427.62429.89284.564807199.33354.83211.60232.74276.24429.09429.07234.955282217.20368.17216.4796.77152.76472.03477.32118.913305OpenBenchmarking.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 SizeBtrfsXFSEXT4F2FS50100150200250SE +/- 4.21, N = 6SE +/- 12.96, N = 6SE +/- 9.22, N = 6SE +/- 0.61, N = 3SE +/- 1.51, N = 3SE +/- 10.73, N = 6SE +/- 15.17, N = 6SE +/- 0.50, N = 3236.83200.27203.08246.10231.40201.57199.33217.201. (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 ThreadsBtrfsXFSEXT4F2FS90180270360450SE +/- 0.06, N = 3SE +/- 0.86, N = 3SE +/- 0.40, N = 3SE +/- 1.24, N = 3SE +/- 1.33, N = 3SE +/- 0.13, N = 3SE +/- 1.03, N = 3SE +/- 0.03, N = 3396.40354.83353.20381.37369.90352.93354.83368.171. (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 SizeBtrfsXFSEXT4F2FS50100150200250SE +/- 0.31, N = 3SE +/- 0.26, N = 3SE +/- 0.23, N = 3SE +/- 3.60, N = 3SE +/- 1.21, N = 3SE +/- 0.25, N = 3SE +/- 0.85, N = 3SE +/- 0.55, N = 3237.80209.20211.77251.10228.67212.30211.60216.471. (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 4.0 GitLinux 3.19OpenBenchmarking.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/sBtrfsXFSEXT450100150200250SE +/- 4.71, N = 6SE +/- 12.38, N = 6SE +/- 12.61, N = 6SE +/- 9.54, N = 6SE +/- 18.22, N = 6SE +/- 5.00, N = 693.65215.61186.31178.75232.7496.771. (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/sBtrfsXFSEXT4F2FS90180270360450SE +/- 0.78, N = 3SE +/- 0.14, N = 3SE +/- 0.77, N = 3SE +/- 75.07, N = 6SE +/- 70.02, N = 6SE +/- 0.15, N = 3SE +/- 0.45, N = 3SE +/- 0.20, N = 3167.08277.39276.08410.68382.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/sBtrfsXFSEXT4F2FS120240360480600SE +/- 0.32, N = 3SE +/- 0.28, N = 3SE +/- 0.46, N = 3SE +/- 77.22, N = 6SE +/- 64.72, N = 6SE +/- 1.13, N = 3SE +/- 0.43, N = 3SE +/- 1.14, N = 3497.77430.49429.26550.24500.67427.62429.09472.031. (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/sBtrfsXFSEXT4F2FS120240360480600SE +/- 0.39, N = 3SE +/- 0.38, N = 3SE +/- 0.54, N = 3SE +/- 85.92, N = 6SE +/- 79.60, N = 6SE +/- 0.05, N = 3SE +/- 0.23, N = 3SE +/- 0.76, N = 3498.61429.71429.53559.78529.73429.89429.07477.321. (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 CreateBtrfsXFSEXT4F2FS60120180240300SE +/- 2.06, N = 3SE +/- 1.35, N = 3SE +/- 5.04, N = 3SE +/- 36.77, N = 3SE +/- 18.81, N = 3SE +/- 5.26, N = 3SE +/- 2.16, N = 3SE +/- 2.25, N = 3145.01240.84290.33284.02232.28284.56234.95118.91

PostMark

Disk Transaction Performance

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


Phoronix Test Suite v10.8.5