You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Damon Courtney <da...@your.unreality.com> on 2002/03/13 00:24:00 UTC

Re: purge Apache ap_ from rivetCore.c

Ok,

    I'm wondering.  Does Apache normally gain a lot of memory in the
child processes over time?  'Cause Rivet does.  It's not a ton.  I'm
hammering the server with like 10k hits at a time, and it doesn't
bloat the processes rapidly.  They do bloat though.  Now, on the machine
I'm running this on (dual P3 1G, 1G RAM), this doesn't really seem to
hinder the machine much.  It could, however, have a real downside when
dealing with a smaller server.

    Also.  Apache 2.0 is rapidly approaching some final ticks.  Do we
need to start looking at developing with mod_tcl?  Do we need to start
developing mod_tcl itself more?

D


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: purge Apache ap_ from rivetCore.c

Posted by "David N. Welton" <da...@dedasys.com>.
Damon Courtney <da...@your.unreality.com> writes:

>     Also.  Apache 2.0 is rapidly approaching some final ticks.  Do
> we need to start looking at developing with mod_tcl?  Do we need to
> start developing mod_tcl itself more?

My (admittedly vague) idea is to develop a Rivet module that could be
loaded into mod_tcl to handle parsing.  It needs to stay fast, but I
think the flexibility gained would be worthwhile.

In my opinion, though, Apache 2.0 is not worth worrying about for now.
It might be released sooner rather than later, but I doubt we'll see
it on production systems for a while yet.

-- 
David N. Welton
   Consulting: http://www.dedasys.com/
     Personal: http://www.dedasys.com/davidw/
Free Software: http://www.dedasys.com/freesoftware/
   Apache Tcl: http://tcl.apache.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Memory usage

Posted by "David N. Welton" <da...@dedasys.com>.
Damon Courtney <da...@your.unreality.com> writes:

>     Now, with some very early memory cleanup code that I'm now
> working on, the same test produced 'httpd' processes that went from
> 3M each to 7M each after taking 50k hits.  This is quite an
> improvement over the earlier tests.  However, it's not great.  I'm
> still looking into some better code, but it'll take a little time.

You might also try tweaking the tests... see if adding a <? ?> or not
changes things.

I think we can nail this, though.  The code is quite clean, and clear.

-- 
David N. Welton
   Consulting: http://www.dedasys.com/
     Personal: http://www.dedasys.com/davidw/
Free Software: http://www.dedasys.com/freesoftware/
   Apache Tcl: http://tcl.apache.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Re: Memory usage

Posted by Damon Courtney <da...@your.unreality.com>.
>     After a few tests, Apache does not leak memory.  I hammered it with
> 100k requests, and the processes stay slim at 1.4M of memory usage.  So,
> we're not cleaning up something, or we're doing something wrong.
> 
>     Now, I'm sure most modules have this problem, but I think it's
> something we can strive to correct.  It would be nice anyway. 0-]
> 
>     I ran Apache without loading Rivet, and no memory was leaked.
> I ran it with Rivet, and it leaked a few 100k here and there.  Not sure
> if anything can be done about it other than recommend to people that
> they turn on their MaxRequestsPerChild option. 0-]

    To answer my own e-mail. 0-]

    Ok, so I've done some preliminary testing on memory usage / handling.
In my test, the httpd processes began their life around 3M each.  After
hitting the server with 50k requests, the processes had increased to over
13M each.  So, in the process of receiving 50k hits, they gained leaked
around 10M of memory each.

    This is, of course, with the default Apache setting for
MaxRequestsPerChild set to 0, meaning the child process will continue to
run through the life of the server.

    Now, with some very early memory cleanup code that I'm now working on,
the same test produced 'httpd' processes that went from 3M each to 7M each
after taking 50k hits.  This is quite an improvement over the earlier
tests.  However, it's not great.  I'm still looking into some better code,
but it'll take a little time.

    In the meantime, I think we're at least headed in a better direction.
0-]

D


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org


Memory usage

Posted by Damon Courtney <da...@your.unreality.com>.
Ok,

    After a few tests, Apache does not leak memory.  I hammered it with
100k requests, and the processes stay slim at 1.4M of memory usage.  So,
we're not cleaning up something, or we're doing something wrong.

    Now, I'm sure most modules have this problem, but I think it's
something we can strive to correct.  It would be nice anyway. 0-]

    I ran Apache without loading Rivet, and no memory was leaked.
I ran it with Rivet, and it leaked a few 100k here and there.  Not sure
if anything can be done about it other than recommend to people that
they turn on their MaxRequestsPerChild option. 0-]

D


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org