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&grw&sor .
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 compilebench: Initial Create fio: Rand Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/s fio: Rand Write - Libaio - No - Yes - 4KB - Default Test Directory - MB/s fio: Seq Read - Libaio - No - Yes - 4KB - Default Test Directory - MB/s fio: Seq Write - Libaio - No - Yes - 4KB - 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 blogbench: Read blogbench: Write sqlite: Default Test Directory pgbench: On-Disk - Normal Load - Read Write Stock compress=zlib compress=lzo discard nobarrier nodatacow notreelog ssd_spread noatime nodatasum nodatacow,compress=lzo,discard 176.97 213.58 86.26 251.11 100.21 61.20 50.70 44.92 3065177 4729 87.82 1094.54 229.79 211.99 91.65 251.84 94.28 133.43 425.00 135.97 2546022 6644 86.53 1529.14 298.72 214.35 92.00 251.56 94.56 268.72 573.77 286.68 2443724 6742 84.15 1334.36 214.10 215.92 160.22 286.68 92.72 73.63 50.70 52.38 2522742 2669 80.05 1557.69 96.32 212.92 95.81 251.15 93.35 63.18 52.93 45.92 3041377 4687 50.94 1165.48 170.23 212.60 291.93 229.81 401.07 62.08 49.80 42.92 2897154 6108 83.01 1199.14 178.87 212.42 91.50 231.26 92.48 38.12 36.50 31.62 3114510 4758 191.68 583.70 123.70 212.80 89.48 251.63 99.94 60.78 51.20 44.95 3064546 4637 86.04 1109.95 142.86 211.93 87.67 240.30 95.39 58.53 51.03 43.90 3271235 4768 85.99 1213.42 164.47 210.64 91.24 251.00 89.21 66.92 50.93 43.72 2884096 5859 83.62 1120.36 288.38 214.82 149.37 347.15 91.54 267.12 695.63 304.10 3099137 4231 81.79 1399.79 OpenBenchmarking.org
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create compress=lzo nodatacow,compress=lzo,discard compress=zlib discard notreelog Stock nodatacow nodatasum noatime ssd_spread nobarrier 70 140 210 280 350 SE +/- 3.13, N = 3 SE +/- 11.98, N = 6 SE +/- 3.67, N = 4 SE +/- 8.38, N = 6 SE +/- 2.69, N = 3 SE +/- 16.49, N = 6 SE +/- 12.27, N = 6 SE +/- 3.81, N = 6 SE +/- 14.79, N = 6 SE +/- 15.22, N = 6 SE +/- 16.09, N = 6 298.72 288.38 229.79 214.10 178.87 176.97 170.23 164.47 142.86 123.70 96.32
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 discard nodatacow,compress=lzo,discard compress=lzo Stock nobarrier ssd_spread nodatacow notreelog compress=zlib noatime nodatasum 50 100 150 200 250 SE +/- 0.06, N = 3 SE +/- 0.06, N = 3 SE +/- 2.89, N = 3 SE +/- 3.25, N = 4 SE +/- 3.68, N = 3 SE +/- 3.28, N = 3 SE +/- 3.72, N = 3 SE +/- 2.48, N = 3 SE +/- 2.82, N = 3 SE +/- 3.35, N = 3 SE +/- 3.54, N = 3 215.92 214.82 214.35 213.58 212.92 212.80 212.60 212.42 211.99 211.93 210.64 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 nodatacow discard nodatacow,compress=lzo,discard nobarrier compress=lzo compress=zlib notreelog nodatasum ssd_spread noatime Stock 60 120 180 240 300 SE +/- 4.62, N = 3 SE +/- 25.35, N = 6 SE +/- 26.99, N = 6 SE +/- 4.57, N = 6 SE +/- 0.99, N = 3 SE +/- 1.46, N = 3 SE +/- 3.68, N = 6 SE +/- 0.30, N = 3 SE +/- 2.06, N = 6 SE +/- 1.47, N = 3 SE +/- 1.61, N = 3 291.93 160.22 149.37 95.81 92.00 91.65 91.50 91.24 89.48 87.67 86.26 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 nodatacow,compress=lzo,discard discard compress=zlib ssd_spread compress=lzo nobarrier Stock nodatasum noatime notreelog nodatacow 80 160 240 320 400 SE +/- 3.88, N = 3 SE +/- 2.66, N = 3 SE +/- 0.01, N = 3 SE +/- 0.05, N = 3 SE +/- 0.06, N = 3 SE +/- 0.01, N = 3 SE +/- 0.41, N = 3 SE +/- 0.04, N = 3 SE +/- 7.00, N = 6 SE +/- 4.40, N = 3 SE +/- 0.29, N = 3 347.15 286.68 251.84 251.63 251.56 251.15 251.11 251.00 240.30 231.26 229.81 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 - 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 nodatacow Stock ssd_spread noatime compress=lzo compress=zlib nobarrier discard notreelog nodatacow,compress=lzo,discard nodatasum 90 180 270 360 450 SE +/- 10.42, N = 6 SE +/- 6.41, N = 6 SE +/- 6.59, N = 6 SE +/- 2.68, N = 6 SE +/- 0.98, N = 3 SE +/- 2.38, N = 6 SE +/- 2.87, N = 6 SE +/- 1.87, N = 3 SE +/- 1.96, N = 6 SE +/- 0.83, N = 3 SE +/- 1.33, N = 3 401.07 100.21 99.94 95.39 94.56 94.28 93.35 92.72 92.48 91.54 89.21 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 compress=lzo nodatacow,compress=lzo,discard compress=zlib discard nodatasum nobarrier nodatacow Stock ssd_spread noatime notreelog 60 120 180 240 300 SE +/- 23.90, N = 6 SE +/- 48.27, N = 6 SE +/- 5.63, N = 6 SE +/- 18.12, N = 6 SE +/- 8.00, N = 6 SE +/- 8.99, N = 6 SE +/- 12.58, N = 6 SE +/- 11.98, N = 6 SE +/- 10.98, N = 6 SE +/- 8.52, N = 6 SE +/- 1.01, N = 6 268.72 267.12 133.43 73.63 66.92 63.18 62.08 61.20 60.78 58.53 38.12 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 nodatacow,compress=lzo,discard compress=lzo compress=zlib nobarrier ssd_spread noatime nodatasum discard Stock nodatacow notreelog 150 300 450 600 750 SE +/- 11.30, N = 6 SE +/- 18.57, N = 6 SE +/- 11.75, N = 6 SE +/- 0.81, N = 3 SE +/- 0.26, N = 3 SE +/- 0.19, N = 3 SE +/- 0.35, N = 3 SE +/- 0.26, N = 3 SE +/- 0.55, N = 3 SE +/- 0.12, N = 3 SE +/- 0.25, N = 3 695.63 573.77 425.00 52.93 51.20 51.03 50.93 50.70 50.70 49.80 36.50 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 nodatacow,compress=lzo,discard compress=lzo compress=zlib discard nobarrier ssd_spread Stock noatime nodatasum nodatacow notreelog 70 140 210 280 350 SE +/- 4.30, N = 6 SE +/- 13.37, N = 6 SE +/- 6.23, N = 6 SE +/- 1.31, N = 6 SE +/- 1.48, N = 6 SE +/- 1.02, N = 6 SE +/- 1.05, N = 6 SE +/- 0.64, N = 3 SE +/- 0.65, N = 5 SE +/- 0.66, N = 6 SE +/- 1.04, N = 6 304.10 286.68 135.97 52.38 45.92 44.95 44.92 43.90 43.72 42.92 31.62 1. (CC) gcc options: -static
BlogBench Test: Read OpenBenchmarking.org Final Score, More Is Better BlogBench 1.0 Test: Read noatime notreelog nodatacow,compress=lzo,discard Stock ssd_spread nobarrier nodatacow nodatasum compress=zlib discard compress=lzo 700K 1400K 2100K 2800K 3500K SE +/- 34584.88, N = 3 SE +/- 15206.90, N = 3 SE +/- 49230.20, N = 4 SE +/- 40440.94, N = 3 SE +/- 18961.67, N = 3 SE +/- 60027.02, N = 3 SE +/- 8178.79, N = 3 SE +/- 27573.77, N = 3 SE +/- 13500.47, N = 3 SE +/- 115112.99, N = 6 SE +/- 28061.70, N = 3 3271235 3114510 3099137 3065177 3064546 3041377 2897154 2884096 2546022 2522742 2443724 1. (CC) gcc options: -O2 -pthread
BlogBench Test: Write OpenBenchmarking.org Final Score, More Is Better BlogBench 1.0 Test: Write compress=lzo compress=zlib nodatacow nodatasum noatime notreelog Stock nobarrier ssd_spread nodatacow,compress=lzo,discard discard 1400 2800 4200 5600 7000 SE +/- 43.41, N = 3 SE +/- 66.31, N = 3 SE +/- 90.65, N = 3 SE +/- 69.33, N = 3 SE +/- 60.85, N = 3 SE +/- 47.14, N = 3 SE +/- 57.83, N = 3 SE +/- 28.83, N = 3 SE +/- 28.36, N = 3 SE +/- 30.45, N = 3 SE +/- 37.16, N = 3 6742 6644 6108 5859 4768 4758 4729 4687 4637 4231 2669 1. (CC) gcc options: -O2 -pthread
SQLite Test Target: Default Test Directory OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.8.10.2 Test Target: Default Test Directory nobarrier discard nodatacow,compress=lzo,discard nodatacow nodatasum compress=lzo noatime ssd_spread compress=zlib Stock notreelog 40 80 120 160 200 SE +/- 0.88, N = 6 SE +/- 0.50, N = 3 SE +/- 0.90, N = 3 SE +/- 1.29, N = 3 SE +/- 1.64, N = 3 SE +/- 1.41, N = 4 SE +/- 1.34, N = 3 SE +/- 1.23, N = 3 SE +/- 1.35, N = 3 SE +/- 0.74, N = 3 SE +/- 15.77, N = 6 50.94 80.05 81.79 83.01 83.62 84.15 85.99 86.04 86.53 87.82 191.68 1. (CC) gcc options: -O2 -ldl -lpthread
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 discard compress=zlib nodatacow,compress=lzo,discard compress=lzo noatime nodatacow nobarrier nodatasum ssd_spread Stock notreelog 300 600 900 1200 1500 SE +/- 79.24, N = 3 SE +/- 3.96, N = 3 SE +/- 60.02, N = 6 SE +/- 19.78, N = 6 SE +/- 46.61, N = 6 SE +/- 9.67, N = 3 SE +/- 2.47, N = 3 SE +/- 7.57, N = 3 SE +/- 5.13, N = 3 SE +/- 12.87, N = 3 SE +/- 8.46, N = 3 1557.69 1529.14 1399.79 1334.36 1213.42 1199.14 1165.48 1120.36 1109.95 1094.54 583.70 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -pthread -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
Phoronix Test Suite v10.8.4