Btrfs RAID Testing Btrfs HDD RAID 0 file-system benchmarking on Ubuntu 14.10 using two Samsung hard drives. Benchmarks by Michael Larabel for a future article on Phoronix.com with benchmarking from Linux 3.10 kernel through Linux 3.18 kernel.
HTML result view exported from: https://openbenchmarking.org/result/1410230-PTS-BTRFSRAI40 .
Btrfs RAID Testing Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 Intel Core i7-5960X @ 3.00GHz (16 Cores) Gigabyte X99-UD4-CF Intel Xeon E5 v3/Core 16384MB 128GB Crucial_CT128MX1 + 2 x 250GB SAMSUNG HD253GJ NVIDIA GeForce GTX 760 2048MB Realtek ALC1150 SyncMaster Intel Connection Ubuntu 14.10 3.10.0-031000-generic (x86_64) Unity 7.3.1 X Server 1.16.0 nouveau 1.0.11 3.3 Mesa 10.3.0 Gallium 0.4 GCC 4.9.1 btrfs 2560x1600 3.11.0-031100-generic (x86_64) Intel Core i7-5960X @ 3.50GHz (16 Cores) 3.12.0-031200-generic (x86_64) NVIDIA GeForce GTX 760 2048MB (405/324MHz) 3.13.0-031300-generic (x86_64) NVIDIA GeForce GTX 760 2048MB (405/648MHz) 3.14.0-031400-generic (x86_64) Intel C610/X99 3.15.0-031500-generic (x86_64) 3.16.0-031600-generic (x86_64) NVIDIA GeForce GTX 760 2048MB 3.17.0-031700-generic (x86_64) 3.18.0-031800rc1-generic (x86_64) OpenBenchmarking.org Compiler 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 - DEADLINE / relatime,rw,space_cache Processor Details - Linux 3.10: Scaling Governor: acpi-cpufreq ondemand - Linux 3.11: Scaling Governor: acpi-cpufreq ondemand - Linux 3.12: Scaling Governor: intel_pstate powersave - Linux 3.13: Scaling Governor: intel_pstate powersave - Linux 3.14: Scaling Governor: intel_pstate powersave - Linux 3.15.0: Scaling Governor: intel_pstate powersave - Linux 3.16.0: Scaling Governor: intel_pstate powersave - Linux 3.17.0: Scaling Governor: intel_pstate powersave - Linux 3.18-rc1: Scaling Governor: intel_pstate powersave System Details - Disk Scheduler: DEADLINE. Python 2.7.8.
Btrfs RAID Testing fio: Rand Read - Libaio - No - 16KB - Default Test Directory - IOPS fio: Rand Read - Libaio - No - 16KB - Default Test Directory - MB/s fio: Rand Write - Libaio - No - 16KB - Default Test Directory - IOPS fio: Rand Write - Libaio - No - 16KB - Default Test Directory - MB/s fio: Seq Read - Libaio - No - 16KB - Default Test Directory - IOPS fio: Seq Read - Libaio - No - 16KB - Default Test Directory - MB/s fio: Seq Write - Libaio - No - 16KB - Default Test Directory - IOPS fio: Seq Write - Libaio - No - 16KB - Default Test Directory - MB/s fs-mark: 1000 Files, 1MB Size fs-mark: 5000 Files, 1MB Size, 4 Threads fs-mark: 4000 Files, 32 Sub Dirs, 1MB Size dbench: 6 iozone: 4Kb - 8GB - Write Performance compilebench: Initial Create postmark: Disk Transaction Performance Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 640 10.32 15563 241.91 486 8.27 9542 163.15 23.77 44.67 23.77 54.16 271.72 150.06 3849 430 8.67 16407 263.79 432 8.41 4224 67.98 22.53 44.40 24.00 55.22 272.19 148.00 4099 444 7.15 17048 277.87 469 7.80 4491 72.06 22.90 43.43 24.40 56.94 271.64 233.12 4413 528 9.26 15638 256.12 457 9.10 16091 277.34 23.27 44.37 24.07 56.63 270.53 214.49 3832 368 5.90 17125 279.34 450 8.62 15166 272.26 23.47 44.57 22.93 55.63 270.83 178.60 4630 398 6.42 16479 272.43 463 7.45 16991 282.51 23.20 45.70 23.57 54.05 271.53 170.09 4033 477 9.43 15304 239.11 400 8.05 14318 278.42 23.13 45.43 23.37 56.01 272.66 164.88 4870 505 8.13 17374 283.91 466 7.61 17542 278.44 22.03 43.90 22.87 56.08 272.55 171.46 5028 621 11.00 17049 281.32 538 9.36 17198 284.61 22.90 44.87 23.63 54.21 271.29 176.63 5137 OpenBenchmarking.org
Flexible IO Tester Type: Random Read - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: IOPS OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 2.1.11 Type: Random Read - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: IOPS Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 140 280 420 560 700 SE +/- 10.68, N = 3 SE +/- 1.76, N = 3 SE +/- 3.93, N = 3 SE +/- 23.28, N = 6 SE +/- 3.18, N = 3 SE +/- 1.53, N = 3 SE +/- 9.02, N = 3 SE +/- 7.90, N = 5 SE +/- 42.53, N = 6 640 430 444 528 368 398 477 505 621 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Random Read - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.11 Type: Random Read - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 3 6 9 12 15 SE +/- 0.05, N = 3 SE +/- 0.25, N = 6 SE +/- 0.03, N = 3 SE +/- 0.02, N = 3 SE +/- 0.05, N = 3 SE +/- 0.03, N = 3 SE +/- 0.32, N = 6 SE +/- 0.05, N = 3 SE +/- 0.04, N = 3 10.32 8.67 7.15 9.26 5.90 6.42 9.43 8.13 11.00 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Random Write - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: IOPS OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 2.1.11 Type: Random Write - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: IOPS Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 4K 8K 12K 16K 20K SE +/- 164.86, N = 3 SE +/- 197.43, N = 3 SE +/- 253.88, N = 5 SE +/- 300.30, N = 3 SE +/- 293.44, N = 3 SE +/- 129.96, N = 3 SE +/- 120.79, N = 3 SE +/- 124.68, N = 3 SE +/- 329.14, N = 3 15563 16407 17048 15638 17125 16479 15304 17374 17049 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Random Write - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.11 Type: Random Write - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 60 120 180 240 300 SE +/- 1.05, N = 3 SE +/- 1.44, N = 3 SE +/- 2.23, N = 3 SE +/- 3.86, N = 3 SE +/- 1.22, N = 3 SE +/- 2.42, N = 3 SE +/- 0.60, N = 3 SE +/- 1.33, N = 3 SE +/- 0.38, N = 3 241.91 263.79 277.87 256.12 279.34 272.43 239.11 283.91 281.32 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Read - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: IOPS OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 2.1.11 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: IOPS Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 120 240 360 480 600 SE +/- 18.48, N = 6 SE +/- 3.61, N = 3 SE +/- 5.04, N = 3 SE +/- 5.57, N = 3 SE +/- 3.93, N = 3 SE +/- 2.08, N = 3 SE +/- 2.19, N = 3 SE +/- 2.85, N = 3 SE +/- 26.15, N = 6 486 432 469 457 450 463 400 466 538 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Read - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.11 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 3 6 9 12 15 SE +/- 0.01, N = 3 SE +/- 0.32, N = 6 SE +/- 0.10, N = 3 SE +/- 0.31, N = 6 SE +/- 0.42, N = 6 SE +/- 0.02, N = 3 SE +/- 0.19, N = 6 SE +/- 0.04, N = 3 SE +/- 0.03, N = 3 8.27 8.41 7.80 9.10 8.62 7.45 8.05 7.61 9.36 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Write - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: IOPS OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 2.1.11 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: IOPS Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 4K 8K 12K 16K 20K SE +/- 299.02, N = 6 SE +/- 14.11, N = 3 SE +/- 9.49, N = 3 SE +/- 419.77, N = 6 SE +/- 177.28, N = 3 SE +/- 364.14, N = 6 SE +/- 473.86, N = 6 SE +/- 262.61, N = 5 SE +/- 313.35, N = 6 9542 4224 4491 16091 15166 16991 14318 17542 17198 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Write - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.11 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Block Size: 16KB - Disk Target: Default Test Directory - Result: MB/s Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 60 120 180 240 300 SE +/- 1.79, N = 3 SE +/- 0.07, N = 3 SE +/- 0.25, N = 3 SE +/- 0.47, N = 3 SE +/- 3.77, N = 3 SE +/- 1.43, N = 3 SE +/- 0.97, N = 3 SE +/- 3.47, N = 3 SE +/- 1.39, N = 3 163.15 67.98 72.06 277.34 272.26 282.51 278.42 278.44 284.61 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
FS-Mark Test: 1000 Files, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 6 12 18 24 30 SE +/- 0.07, N = 3 SE +/- 0.07, N = 3 SE +/- 0.06, N = 3 SE +/- 0.15, N = 3 SE +/- 0.28, N = 3 SE +/- 0.12, N = 3 SE +/- 0.19, N = 3 SE +/- 0.19, N = 3 SE +/- 0.26, N = 3 23.77 22.53 22.90 23.27 23.47 23.20 23.13 22.03 22.90 1. (CC) gcc options: -static
FS-Mark Test: 5000 Files, 1MB Size, 4 Threads OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 10 20 30 40 50 SE +/- 0.44, N = 3 SE +/- 0.72, N = 3 SE +/- 0.15, N = 3 SE +/- 0.54, N = 3 SE +/- 0.38, N = 3 SE +/- 0.70, N = 3 SE +/- 0.22, N = 3 SE +/- 0.64, N = 3 SE +/- 0.58, N = 3 44.67 44.40 43.43 44.37 44.57 45.70 45.43 43.90 44.87 1. (CC) gcc options: -static
FS-Mark Test: 4000 Files, 32 Sub Dirs, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 6 12 18 24 30 SE +/- 0.19, N = 3 SE +/- 0.35, N = 5 SE +/- 0.23, N = 3 SE +/- 0.33, N = 3 SE +/- 0.09, N = 3 SE +/- 0.09, N = 3 SE +/- 0.12, N = 3 SE +/- 0.18, N = 3 SE +/- 0.33, N = 3 23.77 24.00 24.40 24.07 22.93 23.57 23.37 22.87 23.63 1. (CC) gcc options: -static
Dbench Client Count: 6 OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 Client Count: 6 Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 13 26 39 52 65 SE +/- 0.14, N = 3 SE +/- 0.90, N = 3 SE +/- 0.08, N = 3 SE +/- 0.15, N = 3 SE +/- 0.29, N = 3 SE +/- 0.20, N = 3 SE +/- 0.44, N = 3 SE +/- 0.44, N = 3 SE +/- 0.62, N = 3 54.16 55.22 56.94 56.63 55.63 54.05 56.01 56.08 54.21 1. (CC) gcc options: -lpopt -O2
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 60 120 180 240 300 SE +/- 0.25, N = 3 SE +/- 0.16, N = 3 SE +/- 0.60, N = 3 SE +/- 0.32, N = 3 SE +/- 0.14, N = 3 SE +/- 0.07, N = 3 SE +/- 0.13, N = 3 SE +/- 0.12, N = 3 SE +/- 0.92, N = 3 271.72 272.19 271.64 270.53 270.83 271.53 272.66 272.55 271.29 1. (CC) gcc options: -O3
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 50 100 150 200 250 SE +/- 1.86, N = 3 SE +/- 0.78, N = 3 SE +/- 4.10, N = 3 SE +/- 3.59, N = 6 SE +/- 2.56, N = 3 SE +/- 1.23, N = 3 SE +/- 2.92, N = 3 SE +/- 5.94, N = 3 SE +/- 2.61, N = 4 150.06 148.00 233.12 214.49 178.60 170.09 164.88 171.46 176.63
PostMark Disk Transaction Performance OpenBenchmarking.org TPS, More Is Better PostMark 1.51 Disk Transaction Performance Linux 3.10 Linux 3.11 Linux 3.12 Linux 3.13 Linux 3.14 Linux 3.15.0 Linux 3.16.0 Linux 3.17.0 Linux 3.18-rc1 1100 2200 3300 4400 5500 SE +/- 177.07, N = 6 SE +/- 38.68, N = 3 SE +/- 69.30, N = 3 SE +/- 204.02, N = 6 SE +/- 49.37, N = 3 SE +/- 37.53, N = 3 SE +/- 31.33, N = 3 SE +/- 76.45, N = 4 SE +/- 35.33, N = 3 3849 4099 4413 3832 4630 4033 4870 5028 5137 1. (CC) gcc options: -O3
Phoronix Test Suite v10.8.4