nik@ngo.org.uk via RT wrote:
Show quoted text
[...]
Show quoted text> Do that in one window, run top(1) in another window. On my server here the
> memory use hits about 23,900K and then stays steady.
I see the same thing here. It hits 29M after initialisation and then
does not budge.
Show quoted text>
> If you see the same that indicates that it's probably not the code exercised
> by svnweb-server.
>
> I've attached two variations on the above test. Instead of using
> svnweb-server they exercise mod_perl (1) and CGI respectively.
>
> If I run the mod_perl1 test locally I see the httpd process continually
> increase in size. If I run the CGI test locally I don't see any increase
> (which makes sense, the CGI processes all exit at the end, so no opportunity
> for leaks).
>
> Could you run these as well, and verify that you see the same behaviour.
Having a bit of difficulty trying to get these to run, since my
apache+mod_perl binary is compiled statically. I'm currently fiddling
with apache1.tt to the damned thing to start up.
For what it's worth, my server looks like this:
#!/usr/bin/perl
use strict;
use warnings;
use base qw(HTTP::Server::Simple::CGI);
use SVN::Web;
my $root = '/home/svn/svnweb';
my $port = 8013;
sub handle_request {
$ENV{SCRIPT_NAME} = '
http://svnweb.mongueurs.net';
print "HTTP/1.1 200 OK\n";
SVN::Web::run_cgi(cgi_class => 'CGI');
}
use CGI::Carp qw(fatalsToBrowser);
if(!-f "$root/config.yaml") {
print <<EOM;
Can't find $root/config.yaml. Make sure you've run svnweb-install
in $root before running this server.
EOM
exit;
}
chdir($root);
my $server = __PACKAGE__->new($port);
$server->run();
exit;
__END__
The port 80 apache just does a simple reverse proxying of this server
out to the real world. Hmmm, could it be that SVN::Web is not at fault,
but rather HTTP::Server::Simple? I must confess I hadn't thought of that
until now.
Later,
David