[ic] Which is best for performance/functionality mod_interchange or interchange under mod_perl

Jeff Dafoe interchange-users@icdevgroup.org
Wed Oct 23 16:34:00 2002


> >     I can think of one.  mod_perl creates these gargantuan apache
processes.
> > Unless you are running multiple servers, one of these monsters will be
> > forked for every request, static or dynamic.
>
> No, not exactly correct. Apache pre-forks the server processes and they
> handle MaxRequestsPerProcess pages before dying and being re-spawned.

    Not exactly correct either <g>.  If you look at how MinSpareServers and
MaxSpareServers factor in you can see that a process can be killed before
MaxRequestsPerProcess is reached, a new process is not necessarily spawned
when one is killed, and when spawning does occurs on an incoming connection
it is not necessarily just a single process.

> Actually, if you have mod_perl enabled putting Interchange there will
> save memory, for you don't have extra perl interpreters laying around.
>
> I am not saying that this is a performance win for sure. It will depend
> on your setup and mix of static/dynamic pages. If you do something like
have
> Tux serve images, it will probably be a win though.

    The issue I have found is that modperl processes seem to chew memory
like crazy, particularly if they are preloaded with a monster perl script.
I don't know exactly what the memory footprint looks like in a modperl
process, as far as how the code pages and data pages are laid out, but
shared memory seems to become unshared alarmingly fast.  The 20-30 meg
apache processes actually start using 20-30 megs often after just a few
dynamic requests.


Jeff