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. Stock: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 compress=zlib: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 compress=lzo: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 discard: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 nobarrier: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 nodatacow: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 notreelog: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 ssd_spread: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 noatime: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 nodatasum: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 nodatacow,compress=lzo,discard: Processor: Intel Core i7-6800K @ 3.80GHz (12 Cores), Motherboard: MSI X99A WORKSTATION (MS-7A54) v1.0, Chipset: Intel Xeon E7 v4/Xeon, Memory: 16384MB, Disk: 120GB Samsung SSD 850 + 4 x 120GB TOSHIBA-TR150, Graphics: NVIDIA GeForce GTX TITAN X 12288MB, Audio: Realtek ALC1150, Monitor: ASUS PB278, Network: Intel Connection OS: Ubuntu 16.10, Kernel: 4.9.0-040900-generic (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.18.4, Display Driver: nouveau 1.0.12, OpenGL: 3.3 Mesa 12.0.3 Gallium 0.4, Compiler: GCC 6.2.0 20161005, File-System: btrfs, Screen Resolution: 2560x1440 SQLite 3.8.10.2 Test Target: Default Test Directory Seconds < Lower Is Better Stock .......................... 87.82 |================= compress=zlib .................. 86.53 |================= compress=lzo ................... 84.15 |================= discard ........................ 80.05 |================ nobarrier ...................... 50.94 |========== nodatacow ...................... 83.01 |================ notreelog ...................... 191.68 |====================================== ssd_spread ..................... 86.04 |================= noatime ........................ 85.99 |================= nodatasum ...................... 83.62 |================= nodatacow,compress=lzo,discard . 81.79 |================ 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 MB/s > Higher Is Better Stock .......................... 213.58 |====================================== compress=zlib .................. 211.99 |===================================== compress=lzo ................... 214.35 |====================================== discard ........................ 215.92 |====================================== nobarrier ...................... 212.92 |===================================== nodatacow ...................... 212.60 |===================================== notreelog ...................... 212.42 |===================================== ssd_spread ..................... 212.80 |===================================== noatime ........................ 211.93 |===================================== nodatasum ...................... 210.64 |===================================== nodatacow,compress=lzo,discard . 214.82 |====================================== 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 MB/s > Higher Is Better Stock .......................... 86.26 |=========== compress=zlib .................. 91.65 |============ compress=lzo ................... 92.00 |============ discard ........................ 160.22 |===================== nobarrier ...................... 95.81 |============ nodatacow ...................... 291.93 |====================================== notreelog ...................... 91.50 |============ ssd_spread ..................... 89.48 |============ noatime ........................ 87.67 |=========== nodatasum ...................... 91.24 |============ nodatacow,compress=lzo,discard . 149.37 |=================== 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 MB/s > Higher Is Better Stock .......................... 251.11 |=========================== compress=zlib .................. 251.84 |============================ compress=lzo ................... 251.56 |============================ discard ........................ 286.68 |=============================== nobarrier ...................... 251.15 |=========================== nodatacow ...................... 229.81 |========================= notreelog ...................... 231.26 |========================= ssd_spread ..................... 251.63 |============================ noatime ........................ 240.30 |========================== nodatasum ...................... 251.00 |=========================== nodatacow,compress=lzo,discard . 347.15 |====================================== 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 MB/s > Higher Is Better Stock .......................... 100.21 |========= compress=zlib .................. 94.28 |========= compress=lzo ................... 94.56 |========= discard ........................ 92.72 |========= nobarrier ...................... 93.35 |========= nodatacow ...................... 401.07 |====================================== notreelog ...................... 92.48 |========= ssd_spread ..................... 99.94 |========= noatime ........................ 95.39 |========= nodatasum ...................... 89.21 |======== nodatacow,compress=lzo,discard . 91.54 |========= FS-Mark 3.3 Test: 1000 Files, 1MB Size Files/s > Higher Is Better Stock .......................... 61.20 |========= compress=zlib .................. 133.43 |=================== compress=lzo ................... 268.72 |====================================== discard ........................ 73.63 |========== nobarrier ...................... 63.18 |========= nodatacow ...................... 62.08 |========= notreelog ...................... 38.12 |===== ssd_spread ..................... 60.78 |========= noatime ........................ 58.53 |======== nodatasum ...................... 66.92 |========= nodatacow,compress=lzo,discard . 267.12 |====================================== FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Files/s > Higher Is Better Stock .......................... 50.70 |=== compress=zlib .................. 425.00 |======================= compress=lzo ................... 573.77 |=============================== discard ........................ 50.70 |=== nobarrier ...................... 52.93 |=== nodatacow ...................... 49.80 |=== notreelog ...................... 36.50 |== ssd_spread ..................... 51.20 |=== noatime ........................ 51.03 |=== nodatasum ...................... 50.93 |=== nodatacow,compress=lzo,discard . 695.63 |====================================== FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Files/s > Higher Is Better Stock .......................... 44.92 |====== compress=zlib .................. 135.97 |================= compress=lzo ................... 286.68 |==================================== discard ........................ 52.38 |======= nobarrier ...................... 45.92 |====== nodatacow ...................... 42.92 |===== notreelog ...................... 31.62 |==== ssd_spread ..................... 44.95 |====== noatime ........................ 43.90 |===== nodatasum ...................... 43.72 |===== nodatacow,compress=lzo,discard . 304.10 |====================================== BlogBench 1.0 Test: Read Final Score > Higher Is Better Stock .......................... 3065177 |=================================== compress=zlib .................. 2546022 |============================= compress=lzo ................... 2443724 |============================ discard ........................ 2522742 |============================= nobarrier ...................... 3041377 |================================== nodatacow ...................... 2897154 |================================= notreelog ...................... 3114510 |=================================== ssd_spread ..................... 3064546 |=================================== noatime ........................ 3271235 |===================================== nodatasum ...................... 2884096 |================================= nodatacow,compress=lzo,discard . 3099137 |=================================== BlogBench 1.0 Test: Write Final Score > Higher Is Better Stock .......................... 4729 |============================ compress=zlib .................. 6644 |======================================= compress=lzo ................... 6742 |======================================== discard ........................ 2669 |================ nobarrier ...................... 4687 |============================ nodatacow ...................... 6108 |==================================== notreelog ...................... 4758 |============================ ssd_spread ..................... 4637 |============================ noatime ........................ 4768 |============================ nodatasum ...................... 5859 |=================================== nodatacow,compress=lzo,discard . 4231 |========================= Compile Bench 0.6 Test: Initial Create MB/s > Higher Is Better Stock .......................... 176.97 |======================= compress=zlib .................. 229.79 |============================= compress=lzo ................... 298.72 |====================================== discard ........................ 214.10 |=========================== nobarrier ...................... 96.32 |============ nodatacow ...................... 170.23 |====================== notreelog ...................... 178.87 |======================= ssd_spread ..................... 123.70 |================ noatime ........................ 142.86 |================== nodatasum ...................... 164.47 |===================== nodatacow,compress=lzo,discard . 288.38 |===================================== PostgreSQL pgbench 9.4.3 Scaling: On-Disk - Test: Normal Load - Mode: Read Write TPS > Higher Is Better Stock .......................... 1094.54 |========================== compress=zlib .................. 1529.14 |==================================== compress=lzo ................... 1334.36 |================================ discard ........................ 1557.69 |===================================== nobarrier ...................... 1165.48 |============================ nodatacow ...................... 1199.14 |============================ notreelog ...................... 583.70 |============== ssd_spread ..................... 1109.95 |========================== noatime ........................ 1213.42 |============================= nodatasum ...................... 1120.36 |=========================== nodatacow,compress=lzo,discard . 1399.79 |=================================