From: Eric Wong <e@80x24.org> To: meta@public-inbox.org Subject: [PATCH 4/6] doc/config: user documentation for limiters Date: Thu, 31 Jan 2019 10:51:51 +0000 Message-ID: <20190131105153.25272-5-e@80x24.org> (raw) In-Reply-To: <20190131105153.25272-1-e@80x24.org> I've relied on this feature to keep the VPS behind https://public-inbox.org/git/ from OOM-ing since 2016, so document it to ensure others can make use of low-end servers like I do. More limiters may become configurable for viewvcs and solver functionality (or we continue using the default one). --- Documentation/public-inbox-config.pod | 59 +++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/Documentation/public-inbox-config.pod b/Documentation/public-inbox-config.pod index 23ebcc5..cad0c4e 100644 --- a/Documentation/public-inbox-config.pod +++ b/Documentation/public-inbox-config.pod @@ -91,6 +91,18 @@ C<nntp://news.gmane.org/gmane.mail.public-inbox.general> Default: none +=item publicinbox.<name>.httpbackendmax + +If a digit, the maximum number of parallel +L<git-http-backend(1)> processes to allow for cloning this +particular inbox. + +If an alphanumeric value starting with a lowercase alphabetic +character is specified, the inbox will use a L</NAMED LIMITER> +which can be shared by multiple inboxes. + +Default: 32 (using a default limiter shared by all inboxes) + =item publicinbox.<name>.coderepo The nickname of a "coderepo" section associated with the inbox. @@ -169,6 +181,53 @@ Default: none =back +=head2 NAMED LIMITER (PSGI) + +Named limiters are useful for preventing large inboxes from +monopolizing (or overloading) the server. Since serving git +clones (via L<git-http-backend(1)> can be memory-intensive for +large inboxes, it makes sense to put large inboxes on a named +limiter with a low max value; while smaller inboxes can use +the default limiter. + +=over 8 + +=item publicinboxlimiter.<name>.max + +The maximum number of parallel processes for the given limiter. + +=back + +=head3 EXAMPLE WITH NAMED LIMITERS + + ; big inboxes which require lots of memory to clone: + [publicinbox "big1"] + mainrepo = /path/to/big1 + address = big1@example.com + httpbackendmax = big + [publicinbox "big2"] + mainrepo = /path/to/big2 + address = big2@example.com + httpbackendmax = big + + ; tiny inboxes which are easily cloned: + [publicinbox "tiny1"] + mainrepo = /path/to/tiny1 + address = tiny1@example.com + [publicinbox "tiny2"] + mainrepo = /path/to/tiny2 + address = tiny2@example.com + + [publicinboxlimiter "big"] + max = 4 + +In the above example, the "big1" and "big2" are limited to four +parallel L<git-http-backend(1)> processes between them. + +However, "tiny1" and "tiny2" will share the default limiter +which means there can be 32 L<git-http-backend(1)> processes +between them. + =head1 ENVIRONMENT =over 8 -- EW
next prev parent reply other threads:[~2019-01-31 10:51 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-01-31 10:51 [PATCH 0/6] more minor cleanups and doc updates Eric Wong 2019-01-31 10:51 ` [PATCH 1/6] inbox: drop psgi.url_scheme requirement from base_url Eric Wong 2019-01-31 10:51 ` [PATCH 2/6] qspawn: documentation updates Eric Wong 2019-01-31 10:51 ` [PATCH 3/6] config: tiny cleanup to use _array() sub Eric Wong 2019-01-31 10:51 ` Eric Wong [this message] 2019-01-31 10:51 ` [PATCH 5/6] doc/config: document "replyto" configuration knob Eric Wong 2019-01-31 10:51 ` [PATCH 6/6] doc: remove completed TODO items Eric Wong
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://public-inbox.org/README * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190131105153.25272-5-e@80x24.org \ --to=e@80x24.org \ --cc=meta@public-inbox.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
user/dev discussion of public-inbox itself This inbox may be cloned and mirrored by anyone: git clone --mirror https://public-inbox.org/meta git clone --mirror http://czquwvybam4bgbro.onion/meta git clone --mirror http://hjrcffqmbrq6wope.onion/meta git clone --mirror http://ou63pmih66umazou.onion/meta # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V1 meta meta/ https://public-inbox.org/meta \ meta@public-inbox.org public-inbox-index meta Example config snippet for mirrors. Newsgroups are available over NNTP: nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta nntp://ou63pmih66umazou.onion/inbox.comp.mail.public-inbox.meta nntp://czquwvybam4bgbro.onion/inbox.comp.mail.public-inbox.meta nntp://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta nntp://news.gmane.io/gmane.mail.public-inbox.general note: .onion URLs require Tor: https://www.torproject.org/ code repositories for the project(s) associated with this inbox: https://80x24.org/public-inbox.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git