Btrfs RAID Linux 4.7 vs. Linux 4.8 Kernel

Btrfs RAID tests on Linux 4.7 kernel. Benchmarks by Michael Larabel for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1608155-LO-LINUX48BT84&grs&rdt.

ProcessorMotherboardChipsetMemoryDiskGraphicsAudioNetworkMonitorOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionLinux 4.7Linux 4.8 Single Disk RAID0 4-Disk RAID1 4-Disk RAID10 4-Disk Single Disk RAID0 4-Disk RAID1 4-Disk RAID10 4-DiskIntel Xeon E3-1280 v5 @ 4.00GHz (8 Cores)MSI C236A WORKSTATION (MS-7998) v1.0Intel Skylake16384MB4 x 120GB TOSHIBA-TR150 + Samsung SSD 950 PRO 256GBLLVMpipeRealtek ALC1150Intel ConnectionUbuntu 16.104.7.0-040700-generic (x86_64)Unity 7.5.0X Server 1.18.4modesetting 1.18.43.3 Mesa 12.0.1 Gallium 0.4GCC 6.1.1 20160724btrfs1024x768nouveau 1.0.12Sapphire AMD Radeon R9 FURY / NANO 4096MBAcer B286HK4.8.0-999-generic (x86_64) 20160813modesetting 1.18.44.3 Mesa 12.1.0-devel- padoka PPA Gallium 0.4GCC 6.1.1 201608053840x2160OpenBenchmarking.orgEnvironment Details- Linux 4.7: Single Disk, Linux 4.7: RAID0 4-Disk, Linux 4.7: RAID1 4-Disk, Linux 4.7: RAID10 4-Disk: 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 --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-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Disk Details- Linux 4.7: Single Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5- Linux 4.7: RAID0 4-Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID0- Linux 4.7: RAID1 4-Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID1- Linux 4.7: RAID10 4-Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID10- Linux 4.8: Single Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5- Linux 4.8: RAID0 4-Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID0- Linux 4.8: RAID1 4-Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID1- Linux 4.8: RAID10 4-Disk: CFQ / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 / RAID10Processor Details- Scaling Governor: intel_pstate performance

fio: Rand Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/sfio: Rand Read - Libaio - No - Yes - 4KB - Default Test Directory - IOPSblogbench: Writepgbench: On-Disk - Normal Load - Read Writefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 1000 Files, 1MB Sizefio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directory - MB/sfio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directory - IOPSfio: Seq Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/sfio: Seq Read - Libaio - No - Yes - 4KB - Default Test Directory - IOPSLinux 4.7Linux 4.8 Single Disk RAID0 4-Disk RAID1 4-Disk RAID10 4-Disk Single Disk RAID0 4-Disk RAID1 4-Disk RAID10 4-Disk217.545454843471109.0550.0057.3598.5324820248.7061515667.6816424078471781.17141.73128.63162.0238625738.69181495283.997190255211186.6560.8787.97116.0126303464.23114380431.1710805859741494.3767.6039.5090.7124596655.82162847217.98548194930984.4949.7362.4398.4922009459.41115278685.3117065784671488.76128.87146.72195.5151224698.27182660284.64712535898933.6159.8754.28137.0933213459.30114843425.7710625268991401.1370.4868.98130.0233819552.75137363OpenBenchmarking.org

Flexible IO Tester

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

Linux 4.7Linux 4.8OpenBenchmarking.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/sSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk150300450600750SE +/- 0.67, N = 3SE +/- 6.78, N = 3SE +/- 0.53, N = 3SE +/- 1.06, N = 3SE +/- 0.18, N = 3SE +/- 15.25, N = 6SE +/- 1.69, N = 3SE +/- 1.32, N = 3217.54667.68283.99431.17217.98685.31284.64425.771. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: IOPS

Linux 4.7Linux 4.8OpenBenchmarking.orgIOPS, 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: IOPSSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk40K80K120K160K200KSE +/- 2.31, N = 3SE +/- 2318.54, N = 6SE +/- 220.01, N = 3SE +/- 136.74, N = 3SE +/- 570.71, N = 3SE +/- 3866.50, N = 6SE +/- 578.25, N = 3SE +/- 584.50, N = 3545481642407190210805854819170657712531062521. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

BlogBench

Test: Write

Linux 4.7Linux 4.8OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: WriteSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk2K4K6K8K10KSE +/- 27.27, N = 3SE +/- 33.20, N = 3SE +/- 71.94, N = 3SE +/- 107.82, N = 6SE +/- 42.45, N = 3SE +/- 117.49, N = 3SE +/- 33.83, N = 3SE +/- 78.35, N = 3434778475521597449308467589868991. (CC) gcc options: -O2 -pthread

PostgreSQL pgbench

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

Linux 4.7Linux 4.8OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.4.3Scaling: On-Disk - Test: Normal Load - Mode: Read WriteSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk400800120016002000SE +/- 3.93, N = 3SE +/- 342.91, N = 4SE +/- 134.16, N = 6SE +/- 144.78, N = 61109.051781.171186.651494.37984.491488.76933.611401.131. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

Linux 4.7Linux 4.8OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk306090120150SE +/- 0.61, N = 3SE +/- 4.87, N = 6SE +/- 1.37, N = 6SE +/- 0.90, N = 6SE +/- 0.93, N = 3SE +/- 3.19, N = 6SE +/- 1.61, N = 6SE +/- 1.10, N = 550.00141.7360.8767.6049.73128.8759.8770.481. (CC) gcc options: -static

FS-Mark

Test: 1000 Files, 1MB Size

Linux 4.7Linux 4.8OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk306090120150SE +/- 9.98, N = 6SE +/- 25.56, N = 6SE +/- 23.15, N = 6SE +/- 0.23, N = 3SE +/- 11.78, N = 6SE +/- 19.26, N = 6SE +/- 2.64, N = 6SE +/- 11.16, N = 657.35128.6387.9739.5062.43146.7254.2868.981. (CC) gcc options: -static

Flexible IO Tester

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

Linux 4.7Linux 4.8OpenBenchmarking.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/sSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk4080120160200SE +/- 6.30, N = 6SE +/- 9.67, N = 6SE +/- 13.74, N = 6SE +/- 14.55, N = 6SE +/- 4.78, N = 6SE +/- 14.89, N = 6SE +/- 14.98, N = 6SE +/- 16.26, N = 698.53162.02116.0190.7198.49195.51137.09130.021. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: IOPS

Linux 4.7Linux 4.8OpenBenchmarking.orgIOPS, 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: IOPSSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk11K22K33K44K55KSE +/- 1398.72, N = 6SE +/- 2265.53, N = 6SE +/- 3241.71, N = 6SE +/- 3609.36, N = 6SE +/- 435.52, N = 3SE +/- 1479.30, N = 6SE +/- 216.17, N = 3SE +/- 5806.42, N = 624820386252630324596220095122433213338191. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

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

Linux 4.7Linux 4.8OpenBenchmarking.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/sSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk160320480640800SE +/- 1.20, N = 3SE +/- 28.61, N = 6SE +/- 34.75, N = 6SE +/- 7.86, N = 3SE +/- 2.13, N = 3SE +/- 32.95, N = 6SE +/- 2.23, N = 3SE +/- 3.83, N = 3248.70738.69464.23655.82459.41698.27459.30552.751. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: IOPS

Linux 4.7Linux 4.8OpenBenchmarking.orgIOPS, 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: IOPSSingle DiskRAID0 4-DiskRAID1 4-DiskRAID10 4-Disk40K80K120K160K200KSE +/- 476.70, N = 3SE +/- 6401.96, N = 6SE +/- 8687.82, N = 6SE +/- 2065.31, N = 3SE +/- 242.39, N = 3SE +/- 14079.95, N = 6SE +/- 393.37, N = 3SE +/- 2723.43, N = 3615151814951143801628471152781826601148431373631. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lz -lm -lpthread -ldl


Phoronix Test Suite v10.8.5