X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=Documentation%2Fpublic-inbox-tuning.pod;h=67316fb11109b4071197a2db9788dc254eb9a1d0;hb=f3d0e746c6a35c8600b91af99958a52cbc114a4b;hp=e3f2899b76e58d90a22934f1d772beb3e8516816;hpb=78b1c973fba89bc6651ffa16807c40abd38e7bad;p=public-inbox.git diff --git a/Documentation/public-inbox-tuning.pod b/Documentation/public-inbox-tuning.pod index e3f2899b..67316fb1 100644 --- a/Documentation/public-inbox-tuning.pod +++ b/Documentation/public-inbox-tuning.pod @@ -34,6 +34,10 @@ Performance on solid state drives Read-only daemons +=item 7 + +Other OS tuning knobs + =back =head2 New inboxes: public-inbox-init -V2 @@ -55,6 +59,15 @@ public-inbox processes. More (optional) L use will be introduced in the future to lower memory use and improve scalability. +=head2 libgit2 usage via Inline::C + +If libgit2 development files are installed and L +is enabled (described above), per-inbox C +processes are replaced with a single L process running +C in read-only daemons. + +Available as of public-inbox 1.7.0. + =head2 Performance on rotational hard disk drives Random I/O performance is poor on rotational HDDs. Xapian indexing @@ -74,7 +87,7 @@ 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 -L. +L. C users on Linux 4.0+ are advised to try the C<--perf-same_cpu_crypt> C<--perf-submit_from_crypt_cpus> @@ -95,7 +108,9 @@ Disabling copy-on-write also disables checksumming, thus C Fortunately, these SQLite and Xapian indices are designed to recoverable from git if missing. -Disabling CoW does not prevent all fragmentation. +Disabling CoW does not prevent all fragmentation. Large values +of C also limit fragmentation during +the initial index. Avoid snapshotting subvolumes containing Xapian and/or SQLite indices. Snapshots use CoW despite our efforts to disable it, resulting @@ -131,12 +146,21 @@ 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 capacity planning. +=head2 Other OS tuning knobs + +Linux users: the C sysctl may need to be increased if +handling thousands of inboxes (with L) to avoid +out-of-memory errors from git. + +Other OSes may have similar tuning knobs (patches appreciated). + + =head1 CONTACT Feedback encouraged via plain-text mail to L @@ -145,10 +169,10 @@ Information for *BSDs and non-traditional filesystems especially welcome. Our archives are hosted at L, -L, and other places +L, and other places =head1 COPYRIGHT -Copyright 2020 all contributors L +Copyright 2020-2021 all contributors L License: AGPL-3.0+ L