Linux 4.11 F2FS vs. Btrfs Multi-Disk Testing

F2FS multi disk tests on Toshiba TR-150 multiple SSDs with Linux 4.11 kernel and latest f2fs-tools. Tests for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1704236-TR-F2FSMULTI78.

Linux 4.11 F2FS vs. Btrfs Multi-Disk TestingProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLVulkanCompilerFile-SystemScreen ResolutionF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID1Intel 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-TR150LLVMpipeRealtek ALC1150ASUS PB278Intel ConnectionUbuntu 17.044.11.0-999-generic (x86_64) 20170418Unity 7.5.0X Server 1.19.3nouveau 1.0.143.3 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0 256 bits)1.0.42GCC 6.3.0 20170406f2fs2560x1440btrfsOpenBenchmarking.orgEnvironment Details- LIBGL_ALWAYS_SOFTWARE=1Compiler 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=auto --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-target-system-zlib --with-tune=generic -v Disk Details- F2FS - Single Disk: CFQ / acl,active_logs=6,background_gc=on,extent_cache,flush_merge,inline_data,inline_dentry,inline_xattr,lazytime,mode=adaptive,relatime,rw,user_xattr- F2FS - Two Disks: CFQ / acl,active_logs=6,background_gc=on,extent_cache,flush_merge,inline_data,inline_dentry,inline_xattr,lazytime,mode=adaptive,relatime,rw,user_xattr- F2FS - Three Disks: CFQ / acl,active_logs=6,background_gc=on,extent_cache,flush_merge,inline_data,inline_dentry,inline_xattr,lazytime,mode=adaptive,relatime,rw,user_xattr- F2FS - Four Disks: CFQ / acl,active_logs=6,background_gc=on,extent_cache,flush_merge,inline_data,inline_dentry,inline_xattr,lazytime,mode=adaptive,relatime,rw,user_xattr- Btrfs - Single Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5- Btrfs - 2 Disk RAID0: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID0- Btrfs - 4 Disk RAID0: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID0- Btrfs - 4 Disk RAID10: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID10- Btrfs - 4 Disk RAID1: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID1Processor Details- Scaling Governor: intel_pstate powersaveSystem Details- Python 2.7.13.

Linux 4.11 F2FS vs. Btrfs Multi-Disk Testingsqlite: Default Test Directoryfs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizeblogbench: Writecompilebench: Initial Createpgbench: On-Disk - Normal Load - Read WriteF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID139.7372.5252.6745.974249426.391281.8632.1777.1247.8744.974575409.721416.7531.1973.9748.0044.555144431.91577.4531.5265.7747.0044.185070480.081622.9089.6059.5050.2046.284954148.301095.0689.30129.9584.2877.886651275.551524.5784.39169.07134.02116.577457294.412205.7296.7288.1772.5266.876269237.221435.8590.1175.5361.6856.675942240.611443.91OpenBenchmarking.org

SQLite

Test Target: Default Test Directory

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.8.10.2Test Target: Default Test DirectoryF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID120406080100SE +/- 0.39, N = 3SE +/- 0.51, N = 3SE +/- 0.56, N = 3SE +/- 0.16, N = 3SE +/- 1.38, N = 6SE +/- 1.46, N = 6SE +/- 1.56, N = 6SE +/- 1.50, N = 6SE +/- 1.81, N = 639.7332.1731.1931.5289.6089.3084.3996.7290.111. (CC) gcc options: -O2 -ldl -lpthread

FS-Mark

Test: 1000 Files, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID14080120160200SE +/- 16.03, N = 6SE +/- 19.95, N = 6SE +/- 18.21, N = 6SE +/- 13.51, N = 6SE +/- 5.93, N = 6SE +/- 19.90, N = 6SE +/- 23.94, N = 6SE +/- 14.83, N = 6SE +/- 15.72, N = 672.5277.1273.9765.7759.50129.95169.0788.1775.531. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID1306090120150SE +/- 0.27, N = 3SE +/- 0.58, N = 3SE +/- 0.40, N = 3SE +/- 1.22, N = 6SE +/- 0.26, N = 3SE +/- 1.83, N = 6SE +/- 6.52, N = 6SE +/- 1.91, N = 6SE +/- 2.13, N = 652.6747.8748.0047.0050.2084.28134.0272.5261.681. (CC) gcc options: -static

FS-Mark

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

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID1306090120150SE +/- 0.70, N = 6SE +/- 0.62, N = 6SE +/- 0.67, N = 6SE +/- 0.73, N = 6SE +/- 1.69, N = 6SE +/- 2.77, N = 6SE +/- 9.37, N = 6SE +/- 5.80, N = 6SE +/- 7.02, N = 645.9744.9744.5544.1846.2877.88116.5766.8756.671. (CC) gcc options: -static

BlogBench

Test: Write

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: WriteF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID116003200480064008000SE +/- 38.37, N = 3SE +/- 65.60, N = 5SE +/- 240.01, N = 6SE +/- 94.11, N = 3SE +/- 60.92, N = 3SE +/- 81.26, N = 3SE +/- 122.86, N = 3SE +/- 115.85, N = 34249457551445070495466517457626959421. (CC) gcc options: -O2 -pthread

Compile Bench

Test: Initial Create

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID1100200300400500SE +/- 34.60, N = 6SE +/- 23.46, N = 6SE +/- 24.26, N = 6SE +/- 28.20, N = 6SE +/- 24.81, N = 6SE +/- 1.18, N = 3SE +/- 7.08, N = 6SE +/- 11.35, N = 6SE +/- 7.83, N = 6426.39409.72431.91480.08148.30275.55294.41237.22240.61

PostgreSQL pgbench

Scaling: On-Disk - Test: Normal Load - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: On-Disk - Test: Normal Load - Mode: Read WriteF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID150010001500200025001281.861416.75577.451622.901095.061524.572205.721435.851443.911. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm


Phoronix Test Suite v10.8.4