diff options
author | Eric Wong <e@80x24.org> | 2023-04-12 10:17:42 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-04-14 16:25:34 +0000 |
commit | 74bb661ee521d275b636eda4a5caeabb9e387e75 (patch) | |
tree | 4da9c5387c86864c294bd771949bfb3f05087766 /Documentation | |
parent | 924fcdc5a5095043388bcce85da09af0d3161bd0 (diff) | |
download | public-inbox-74bb661ee521d275b636eda4a5caeabb9e387e75.tar.gz |
While accepting a single connection at-a-time is likely best for multi-worker and/or load-balanced deployments; accepting multiple connections at once should be less bad on overloaded single-worker systems. We can't automatically pick the best value here since worker counts are dynamic via SIGTTIN/SIGTTOU. Process managers (e.g. systemd) can also spawn multiple instances sharing a single listener with no knowledge sharing between listeners.
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/public-inbox-daemon.pod | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Documentation/public-inbox-daemon.pod b/Documentation/public-inbox-daemon.pod index 81a79a10..71216833 100644 --- a/Documentation/public-inbox-daemon.pod +++ b/Documentation/public-inbox-daemon.pod @@ -115,6 +115,23 @@ per-listener C<cert=> option. The private key may be concatenated into the path used by the cert, in which case this option is not needed. +=item --multi-accept INTEGER + +By default, each worker accepts one connection at-a-time to maximize +fairness and minimize contention across multiple processes on a +shared listen socket. Accepting multiple connections at once may be +useful in constrained deployments with few, heavily-loaded workers. +Negative values enables a worker to accept all available clients at +once, possibly starving others in the process. C<-1> behaves like +C<multi_accept yes> in nginx; while C<0> (the default) is +C<multi_accept no> in nginx. Positive values allow +fine-tuning without the runaway behavior of C<-1>. + +This may be specified on a per-listener basis via the C<multi-accept=> +per-listener directive (e.g. C<-l http://127.0.0.1?multi-accept=1>). + +Default: 0 + =back =head1 SIGNALS |