X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Fpublic-inbox-tuning.pod;h=b4e7698bcca975a972921216128d74225cb222f9;hb=7cca148aa220d2c747f6487bd8987e0e36db0367;hp=abc53d1ee0722c7561190bc805dcf5b4e6b81993;hpb=99850fabd5fc628ab29c718e9d7de09b8114b208;p=public-inbox.git diff --git a/Documentation/public-inbox-tuning.pod b/Documentation/public-inbox-tuning.pod index abc53d1e..b4e7698b 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 @@ -116,7 +131,7 @@ for parallelism. The open file descriptor limit (C, C in L, C in L) may need to be raised to -accomodate many concurrent clients. +accommodate many concurrent clients. Transport Layer Security (IMAPS, NNTPS, or via STARTTLS) significantly increases memory use of client sockets, sure to account for that in