Btrfs Mount Option Benchmarks With The Linux 4.9 Kernel
Following last week's Btrfs / EXT4 / XFS / F2FS benchmarks using the Linux 4.6 through 4.9 kernels, some requests came in for doing some fresh Btrfs mount option comparison benchmarks. Thus for your viewing pleasure ahead of the holidays are some Btrfs mount option tests with the Linux 4.9 kernel.
A variety of performance-sensitive mount options were tested with Btrfs on Linux 4.9 when the file-system was backed by a Toshiba TR150 SATA 3.0 SSD. Aside from testing the default/stock mount options, the other options tested included notreelog, compress=zlib, compress=lzo, ssd_spread, noatime, nodatasum, nodatacow, discard, and nobarrier. There was also a final run when applying nodatacow, LZO compression, and discard all together. Note that while some of these mount options are able to boost the performance of Btrfs, not all of them are safe, especially if you aren't running on a battery-backed system in case of power loss to reduce the likelihood of corruption.
Btrfs mount options are described in full detail via the informative Btrfs Wiki. These tests are being carried out today and results presented as-is, for those curious about rough expectations that the impact of these non-default mount options have on the performance. All of these benchmarks were carried out in a fully-automated manner using the open-source Phoronix Test Suite benchmarking software.