On Sat, 15 Apr 2000 [EMAIL PROTECTED] wrote:

> Modperlers...,
> 
> I'd like to start a discussion about the deficiences in Apache/modperl
> and get you feedback with regard to this issue.  The problem as I see
> it is that the process model that Apache uses is very hard on modperl.

mod_perl-2.0/apache-2.0 should solve this (fingers crossed :)

> It is very memory inneffecient basically.  Each process of apache has
> it's registry which holds the compiled perl scripts in..., a copy of
> each for each process.  This has become an issue for one of the
> companies that I work for, and I noted from monitoring the list that
> some people have apache processes that are upwards of 25Megs, which is
> frankly ridiculous.

with 2.0, the syntax tree is shared (at the Perl level)
 
however, padlists are not shared.  as i mentioned, i'd like to look at
using your "garbage collector" for 2.0.  if it could run in it's own
thread and examine the padlists of idle interpreters, it could be big win.
i wouldn't want it to release all allocations in the padlist by default.
maybe be configurable to only release things of a certain size.  what i
would personally like to see is one that just reports anything that's
larger than X size, so i can fix the Perl code not copy large chunks of
data, and/or figure out how to make large chunks of data shared between
interpreters.  i kinda started this with the B::Size hooks in
Apache::Status, but you have to dig around the symbol table to find how
big things are, there's no overall reporting mechanism.
 
> One of my concerns is that maybe the apache module API is simply too
> complex to pull something like this off.  I don't know, but it seems
> like it should be able to handle something like this.

if you need a model where the Perl engine is in a different process 
than Apache, that should be implemented with FastCGI or something else.  
the overhead of passing the request_rec (and everything it points to)
between processes for all of the various phases (so mod_perl could
still everything it can today) would be a nightmare.

Reply via email to