Btrfs Linux 4.9 file-system benchmarks with a variety of mount options. Benchmarks by Michael Larabel for a future article on Phoronix.com.
Compare your own system(s) to this result file with the
Phoronix Test Suite by running the command:
phoronix-test-suite benchmark 1612196-TA-BTRFSBUTT59 Btrfs File-System Mount Option Testing On Linux 4.9 - Phoronix Test Suite Btrfs File-System Mount Option Testing On Linux 4.9 Btrfs Linux 4.9 file-system benchmarks with a variety of mount options. Benchmarks by Michael Larabel for a future article on Phoronix.com.
HTML result view exported from: https://openbenchmarking.org/result/1612196-TA-BTRFSBUTT59&grr .
Btrfs File-System Mount Option Testing On Linux 4.9 Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard Intel Core i7-6800K @ 3.80GHz (12 Cores) MSI X99A WORKSTATION (MS-7A54) v1.0 Intel Xeon E7 v4/Xeon 16384MB 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150 NVIDIA GeForce GTX TITAN X 12288MB Realtek ALC1150 ASUS PB278 Intel Connection Ubuntu 16.10 4.9.0-040900-generic (x86_64) Unity 7.5.0 X Server 1.18.4 nouveau 1.0.12 3.3 Mesa 12.0.3 Gallium 0.4 GCC 6.2.0 20161005 btrfs 2560x1440 OpenBenchmarking.org Compiler 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 --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-tune=generic -v Disk Details - Stock: DEADLINE / relatime,rw,space_cache,ssd,subvol=/,subvolid=5 - compress=zlib: DEADLINE / compress=zlib,relatime,rw,space_cache,ssd,subvol=/,subvolid=5 - compress=lzo: DEADLINE / compress=lzo,relatime,rw,space_cache,ssd,subvol=/,subvolid=5 - discard: DEADLINE / discard,relatime,rw,space_cache,ssd,subvol=/,subvolid=5 - nobarrier: DEADLINE / nobarrier,relatime,rw,space_cache,ssd,subvol=/,subvolid=5 - nodatacow: DEADLINE / nodatacow,nodatasum,relatime,rw,space_cache,ssd,subvol=/,subvolid=5 - notreelog: DEADLINE / notreelog,relatime,rw,space_cache,ssd,subvol=/,subvolid=5 - ssd_spread: DEADLINE / relatime,rw,space_cache,ssd_spread,subvol=/,subvolid=5 - noatime: DEADLINE / noatime,rw,space_cache,ssd,subvol=/,subvolid=5 - nodatasum: DEADLINE / nodatasum,relatime,rw,space_cache,ssd,subvol=/,subvolid=5 - nodatacow,compress=lzo,discard: DEADLINE / compress=lzo,discard,relatime,rw,space_cache,ssd,subvol=/,subvolid=5 Processor Details - Scaling Governor: intel_pstate powersave System Details - Python 2.7.12+.
Btrfs File-System Mount Option Testing On Linux 4.9 pgbench: On-Disk - Normal Load - Read Write compilebench: Initial Create blogbench: Write blogbench: Read fs-mark: 4000 Files, 32 Sub Dirs, 1MB Size fs-mark: 5000 Files, 1MB Size, 4 Threads fs-mark: 1000 Files, 1MB Size fio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directory - MB/s fio: Seq Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/s fio: Rand Write - Libaio - No - Yes - 4KB - Default Test Directory - MB/s fio: Rand Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/s sqlite: Default Test Directory Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 1094.54 176.97 4729 3065177 44.92 50.70 61.20 100.21 251.11 86.26 213.58 87.82 1529.14 229.79 6644 2546022 135.97 425.00 133.43 94.28 251.84 91.65 211.99 86.53 1334.36 298.72 6742 2443724 286.68 573.77 268.72 94.56 251.56 92.00 214.35 84.15 1557.69 214.10 2669 2522742 52.38 50.70 73.63 92.72 286.68 160.22 215.92 80.05 1165.48 96.32 4687 3041377 45.92 52.93 63.18 93.35 251.15 95.81 212.92 50.94 1199.14 170.23 6108 2897154 42.92 49.80 62.08 401.07 229.81 291.93 212.60 83.01 583.70 178.87 4758 3114510 31.62 36.50 38.12 92.48 231.26 91.50 212.42 191.68 1109.95 123.70 4637 3064546 44.95 51.20 60.78 99.94 251.63 89.48 212.80 86.04 1213.42 142.86 4768 3271235 43.90 51.03 58.53 95.39 240.30 87.67 211.93 85.99 1120.36 164.47 5859 2884096 43.72 50.93 66.92 89.21 251.00 91.24 210.64 83.62 1399.79 288.38 4231 3099137 304.10 695.63 267.12 91.54 347.15 149.37 214.82 81.79 OpenBenchmarking.org
PostgreSQL pgbench Scaling: On-Disk - Test: Normal Load - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 9.4.3 Scaling: On-Disk - Test: Normal Load - Mode: Read Write Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 300 600 900 1200 1500 SE +/- 12.87, N = 3 SE +/- 3.96, N = 3 SE +/- 19.78, N = 6 SE +/- 79.24, N = 3 SE +/- 2.47, N = 3 SE +/- 9.67, N = 3 SE +/- 8.46, N = 3 SE +/- 5.13, N = 3 SE +/- 46.61, N = 6 SE +/- 7.57, N = 3 SE +/- 60.02, N = 6 1094.54 1529.14 1334.36 1557.69 1165.48 1199.14 583.70 1109.95 1213.42 1120.36 1399.79 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 70 140 210 280 350 SE +/- 16.49, N = 6 SE +/- 3.67, N = 4 SE +/- 3.13, N = 3 SE +/- 8.38, N = 6 SE +/- 16.09, N = 6 SE +/- 12.27, N = 6 SE +/- 2.69, N = 3 SE +/- 15.22, N = 6 SE +/- 14.79, N = 6 SE +/- 3.81, N = 6 SE +/- 11.98, N = 6 176.97 229.79 298.72 214.10 96.32 170.23 178.87 123.70 142.86 164.47 288.38
BlogBench Test: Write OpenBenchmarking.org Final Score, More Is Better BlogBench 1.0 Test: Write Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 1400 2800 4200 5600 7000 SE +/- 57.83, N = 3 SE +/- 66.31, N = 3 SE +/- 43.41, N = 3 SE +/- 37.16, N = 3 SE +/- 28.83, N = 3 SE +/- 90.65, N = 3 SE +/- 47.14, N = 3 SE +/- 28.36, N = 3 SE +/- 60.85, N = 3 SE +/- 69.33, N = 3 SE +/- 30.45, N = 3 4729 6644 6742 2669 4687 6108 4758 4637 4768 5859 4231 1. (CC) gcc options: -O2 -pthread
BlogBench Test: Read OpenBenchmarking.org Final Score, More Is Better BlogBench 1.0 Test: Read Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 700K 1400K 2100K 2800K 3500K SE +/- 40440.94, N = 3 SE +/- 13500.47, N = 3 SE +/- 28061.70, N = 3 SE +/- 115112.99, N = 6 SE +/- 60027.02, N = 3 SE +/- 8178.79, N = 3 SE +/- 15206.90, N = 3 SE +/- 18961.67, N = 3 SE +/- 34584.88, N = 3 SE +/- 27573.77, N = 3 SE +/- 49230.20, N = 4 3065177 2546022 2443724 2522742 3041377 2897154 3114510 3064546 3271235 2884096 3099137 1. (CC) gcc options: -O2 -pthread
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 Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 70 140 210 280 350 SE +/- 1.05, N = 6 SE +/- 6.23, N = 6 SE +/- 13.37, N = 6 SE +/- 1.31, N = 6 SE +/- 1.48, N = 6 SE +/- 0.66, N = 6 SE +/- 1.04, N = 6 SE +/- 1.02, N = 6 SE +/- 0.64, N = 3 SE +/- 0.65, N = 5 SE +/- 4.30, N = 6 44.92 135.97 286.68 52.38 45.92 42.92 31.62 44.95 43.90 43.72 304.10 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 Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 150 300 450 600 750 SE +/- 0.55, N = 3 SE +/- 11.75, N = 6 SE +/- 18.57, N = 6 SE +/- 0.26, N = 3 SE +/- 0.81, N = 3 SE +/- 0.12, N = 3 SE +/- 0.25, N = 3 SE +/- 0.26, N = 3 SE +/- 0.19, N = 3 SE +/- 0.35, N = 3 SE +/- 11.30, N = 6 50.70 425.00 573.77 50.70 52.93 49.80 36.50 51.20 51.03 50.93 695.63 1. (CC) gcc options: -static
FS-Mark Test: 1000 Files, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 60 120 180 240 300 SE +/- 11.98, N = 6 SE +/- 5.63, N = 6 SE +/- 23.90, N = 6 SE +/- 18.12, N = 6 SE +/- 8.99, N = 6 SE +/- 12.58, N = 6 SE +/- 1.01, N = 6 SE +/- 10.98, N = 6 SE +/- 8.52, N = 6 SE +/- 8.00, N = 6 SE +/- 48.27, N = 6 61.20 133.43 268.72 73.63 63.18 62.08 38.12 60.78 58.53 66.92 267.12 1. (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 OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 90 180 270 360 450 SE +/- 6.41, N = 6 SE +/- 2.38, N = 6 SE +/- 0.98, N = 3 SE +/- 1.87, N = 3 SE +/- 2.87, N = 6 SE +/- 10.42, N = 6 SE +/- 1.96, N = 6 SE +/- 6.59, N = 6 SE +/- 2.68, N = 6 SE +/- 1.33, N = 3 SE +/- 0.83, N = 3 100.21 94.28 94.56 92.72 93.35 401.07 92.48 99.94 95.39 89.21 91.54 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 - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 80 160 240 320 400 SE +/- 0.41, N = 3 SE +/- 0.01, N = 3 SE +/- 0.06, N = 3 SE +/- 2.66, N = 3 SE +/- 0.01, N = 3 SE +/- 0.29, N = 3 SE +/- 4.40, N = 3 SE +/- 0.05, N = 3 SE +/- 7.00, N = 6 SE +/- 0.04, N = 3 SE +/- 3.88, N = 3 251.11 251.84 251.56 286.68 251.15 229.81 231.26 251.63 240.30 251.00 347.15 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 - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 60 120 180 240 300 SE +/- 1.61, N = 3 SE +/- 1.46, N = 3 SE +/- 0.99, N = 3 SE +/- 25.35, N = 6 SE +/- 4.57, N = 6 SE +/- 4.62, N = 3 SE +/- 3.68, N = 6 SE +/- 2.06, N = 6 SE +/- 1.47, N = 3 SE +/- 0.30, N = 3 SE +/- 26.99, N = 6 86.26 91.65 92.00 160.22 95.81 291.93 91.50 89.48 87.67 91.24 149.37 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 - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Random Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory - Result: MB/s Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 50 100 150 200 250 SE +/- 3.25, N = 4 SE +/- 2.82, N = 3 SE +/- 2.89, N = 3 SE +/- 0.06, N = 3 SE +/- 3.68, N = 3 SE +/- 3.72, N = 3 SE +/- 2.48, N = 3 SE +/- 3.28, N = 3 SE +/- 3.35, N = 3 SE +/- 3.54, N = 3 SE +/- 0.06, N = 3 213.58 211.99 214.35 215.92 212.92 212.60 212.42 212.80 211.93 210.64 214.82 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lrt -laio -lm -lpthread -ldl
SQLite Test Target: Default Test Directory OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.8.10.2 Test Target: Default Test Directory Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 40 80 120 160 200 SE +/- 0.74, N = 3 SE +/- 1.35, N = 3 SE +/- 1.41, N = 4 SE +/- 0.50, N = 3 SE +/- 0.88, N = 6 SE +/- 1.29, N = 3 SE +/- 15.77, N = 6 SE +/- 1.23, N = 3 SE +/- 1.34, N = 3 SE +/- 1.64, N = 3 SE +/- 0.90, N = 3 87.82 86.53 84.15 80.05 50.94 83.01 191.68 86.04 85.99 83.62 81.79 1. (CC) gcc options: -O2 -ldl -lpthread
Phoronix Test Suite v10.8.4