* [PATCH 2/5] git-http-backend: remove process limit
2016-05-22 20:57 6% [PATCH 0/5] a few more HTTP-async-related simplifications Eric Wong
@ 2016-05-22 20:57 7% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2016-05-22 20:57 UTC (permalink / raw)
To: meta
We will figure out a different way to avoid overloading...
---
lib/PublicInbox/GitHTTPBackend.pm | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/lib/PublicInbox/GitHTTPBackend.pm b/lib/PublicInbox/GitHTTPBackend.pm
index b58cc30..35c3383 100644
--- a/lib/PublicInbox/GitHTTPBackend.pm
+++ b/lib/PublicInbox/GitHTTPBackend.pm
@@ -11,14 +11,6 @@ use IO::File;
use PublicInbox::Spawn qw(spawn);
use HTTP::Date qw(time2str);
-# TODO: make configurable, but keep in mind it's better to have
-# multiple -httpd worker processes which are already scaled to
-# the proper number of CPUs and memory. git-pack-objects(1) may
-# also use threads and bust memory limits, too, so I recommend
-# limiting threads to 1 (via `pack.threads` knob in git) for serving.
-my $LIMIT = 1;
-my $nr_running = 0;
-
# n.b. serving "description" and "cloneurl" should be innocuous enough to
# not cause problems. serving "config" might...
my @text = qw[HEAD info/refs
@@ -54,7 +46,6 @@ sub r ($) {
sub serve {
my ($cgi, $git, $path) = @_;
- return serve_dumb($cgi, $git, $path) if $nr_running >= $LIMIT;
my $service = $cgi->param('service') || '';
if ($service =~ /\Agit-\w+-pack\z/ || $path =~ /\Agit-\w+-pack\z/) {
@@ -243,7 +234,6 @@ sub serve_smart {
$wpipe = $in = undef;
$buf = '';
my ($vin, $fh, $res);
- $nr_running++;
# Danga::Socket users, we queue up the read_enable callback to
# fire after pending writes are complete:
@@ -264,7 +254,6 @@ sub serve_smart {
# PublicInbox::HTTPD::Async::close:
$rpipe->close;
$rpipe = undef;
- $nr_running--;
}
if (defined $pid) {
my $e = $pid == waitpid($pid, 0) ?
^ permalink raw reply related [relevance 7%]
* [PATCH 0/5] a few more HTTP-async-related simplifications
@ 2016-05-22 20:57 6% Eric Wong
2016-05-22 20:57 7% ` [PATCH 2/5] git-http-backend: remove process limit Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2016-05-22 20:57 UTC (permalink / raw)
To: meta
Since we'll be doing more expensive processes in repobrowse,
it's prudent to refactor and commonalize some of this code.
Here's a start...
Eric Wong (5):
t/spawn.t: additional tests for popen_rd
git-http-backend: remove process limit
git-http-backend: simplify dumb serving
http: rework async_pass support
git-http-backend: switch to async_pass
lib/PublicInbox/GitHTTPBackend.pm | 251 ++++++++++++++++----------------------
lib/PublicInbox/HTTP.pm | 24 +---
lib/PublicInbox/HTTPD/Async.pm | 45 ++++---
t/spawn.t | 10 ++
4 files changed, 143 insertions(+), 187 deletions(-)
^ permalink raw reply [relevance 6%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2016-05-22 20:57 6% [PATCH 0/5] a few more HTTP-async-related simplifications Eric Wong
2016-05-22 20:57 7% ` [PATCH 2/5] git-http-backend: remove process limit Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).