From 78b1c973fba89bc6651ffa16807c40abd38e7bad Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 25 Aug 2020 10:51:20 +0000 Subject: doc: add some more tuning notes I've learned a thing or three about btrfs in the past few weeks and remembered some old HDD things, too. The Xapian MultiDatabase problem will need to be addressed for 1.7... --- Documentation/public-inbox-tuning.pod | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'Documentation/public-inbox-tuning.pod') diff --git a/Documentation/public-inbox-tuning.pod b/Documentation/public-inbox-tuning.pod index abc53d1e..e3f2899b 100644 --- a/Documentation/public-inbox-tuning.pod +++ b/Documentation/public-inbox-tuning.pod @@ -69,7 +69,8 @@ footprint when indexing on HDDs. Initializing a mirror with a high C<--jobs> count to create more shards (in C<-V2> inboxes) will keep each shard smaller and -reduce its kernel page cache footprint. +reduce its kernel page cache footprint. Keep in mind excessive +sharding imposes a performance penalty for read-only queries. Users with large amounts of RAM are advised to set a large value for C as documented in @@ -88,12 +89,21 @@ used by public-inbox are no exception to that. public-inbox 1.6.0+ disables copy-on-write (CoW) on Xapian and SQLite indices on btrfs to achieve acceptable performance (even on SSD). -Disabling copy-on-write also disables checksumming, thus raid1 -(or higher) configurations may corrupt on unsafe shutdowns. +Disabling copy-on-write also disables checksumming, thus C +(or higher) configurations may be corrupt after unsafe shutdowns. Fortunately, these SQLite and Xapian indices are designed to recoverable from git if missing. +Disabling CoW does not prevent all fragmentation. + +Avoid snapshotting subvolumes containing Xapian and/or SQLite indices. +Snapshots use CoW despite our efforts to disable it, resulting +in fragmentation. + +L can be used to monitor fragmentation, and +C may be necessary. + Large filesystems benefit significantly from the C mount option documented in L. @@ -106,6 +116,11 @@ While SSD read performance is generally good, SSD write performance degrades as the drive ages and/or gets full. Issuing C commands via L or similar is required to sustain write performance. +Users of the Flash-Friendly File System +L may benefit from +optimizations found in SQLite 3.21.0+. Benchmarks are greatly +appreciated. + =head2 Read-only daemons L, L, and -- cgit v1.2.3-24-ge0c7