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

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 Testingfs-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 Writesqlite: Default Test DirectoryF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four DisksBtrfs - Single DiskBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID172.5252.6745.974249426.391281.8639.7377.1247.8744.974575409.721416.7532.1773.9748.0044.555144431.91577.4531.1965.7747.0044.185070480.081622.9031.5259.5050.2046.284954148.301095.0689.60129.9584.2877.886651275.551524.5789.30169.07134.02116.577457294.412205.7284.3988.1772.5266.876269237.221435.8596.7275.5361.6856.675942240.611443.9190.11OpenBenchmarking.org

FS-Mark

Test: 1000 Files, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeBtrfs - 4 Disk RAID0Btrfs - 2 Disk RAID0Btrfs - 4 Disk RAID10F2FS - Two DisksBtrfs - 4 Disk RAID1F2FS - Three DisksF2FS - Single DiskF2FS - Four DisksBtrfs - Single Disk4080120160200SE +/- 23.94, N = 6SE +/- 19.90, N = 6SE +/- 14.83, N = 6SE +/- 19.95, N = 6SE +/- 15.72, N = 6SE +/- 18.21, N = 6SE +/- 16.03, N = 6SE +/- 13.51, N = 6SE +/- 5.93, N = 6169.07129.9588.1777.1275.5373.9772.5265.7759.501. (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 ThreadsBtrfs - 4 Disk RAID0Btrfs - 2 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID1F2FS - Single DiskBtrfs - Single DiskF2FS - Three DisksF2FS - Two DisksF2FS - Four Disks306090120150SE +/- 6.52, N = 6SE +/- 1.83, N = 6SE +/- 1.91, N = 6SE +/- 2.13, N = 6SE +/- 0.27, N = 3SE +/- 0.26, N = 3SE +/- 0.40, N = 3SE +/- 0.58, N = 3SE +/- 1.22, N = 6134.0284.2872.5261.6852.6750.2048.0047.8747.001. (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 SizeBtrfs - 4 Disk RAID0Btrfs - 2 Disk RAID0Btrfs - 4 Disk RAID10Btrfs - 4 Disk RAID1Btrfs - Single DiskF2FS - Single DiskF2FS - Two DisksF2FS - Three DisksF2FS - Four Disks306090120150SE +/- 9.37, N = 6SE +/- 2.77, N = 6SE +/- 5.80, N = 6SE +/- 7.02, N = 6SE +/- 1.69, N = 6SE +/- 0.70, N = 6SE +/- 0.62, N = 6SE +/- 0.67, N = 6SE +/- 0.73, N = 6116.5777.8866.8756.6746.2845.9744.9744.5544.181. (CC) gcc options: -static

BlogBench

Test: Write

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

Compile Bench

Test: Initial Create

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

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 WriteBtrfs - 4 Disk RAID0F2FS - Four DisksBtrfs - 2 Disk RAID0Btrfs - 4 Disk RAID1Btrfs - 4 Disk RAID10F2FS - Two DisksF2FS - Single DiskBtrfs - Single DiskF2FS - Three Disks50010001500200025002205.721622.901524.571443.911435.851416.751281.861095.06577.451. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

SQLite

Test Target: Default Test Directory

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


Phoronix Test Suite v10.8.4