Well what I do, for some reason I can't remember, is to preload everything (all CPAN etc modules) *except* dev code, in startup.pl
Then the children end up loading dev code on the first request and getting fatter .. I might be wrong but most of my VM usage after 10 minutes heavy running appears to be temporary data from certain infrequent urls that suck in many rows, pushing the size up over time, so I'm not sure parent preloading the main code base would save me that much memory.. and then I'd really have to kick the server in one go to get it to go over to new code.. and lose the ability to do any phase-in of code at all.. thanks as usual. by the way, is modperl2 on apache2 quite ok for heavy production use by now? is an upgraade recommended for performance reasons at least? -Justin SB> justin wrote: SB> [...] >> SB> Second, you could write a similar to Apache::SizeLimit handler module, which >> SB> will determine when to terminate the process, but the problem is that you need >> SB> to reload the parent server anyway if you don't rely on Apache::Reload. >> >> Penny drops -- I can do this in my own exit handler, no? where I am >> doing housekeeping, and possible child termination anyway. I could even >> syntax check the new code to stop corrupt files or *cough* programmer >> mistakes. SB> Of course. >> Since I'm still using Registry, I'd disable its checking of >> file timestamps. SB> Oops, sorry, I've completely forgotten that Apache::Registry does this SB> reloading. You can use Apache::RegistryBB which doesn't do that or write SB> another subclass as you have suggested. So yes, it's relevant that you are SB> using Registry. SB> > But why do I need to worry about the parent server, if SB> > the parent server has a fixed code base (a fixed set of library use's in SB> > startup.pl and not the "code" as such)? SB> I've assumed that you preload everything at the server startup (You did know SB> that you can preload registry scripts [1], to improve memory sharing, didn't SB> you?) in which case the parent server which contains the preloaded data will SB> still keep the old code and new child process will "inherit" this old code. Of SB> course if you don't preload scripts, than you are fine. SB> 1) SB> http://perl.apache.org/docs/1.0/guide/performance.html#Preloading_Registry_Scripts_at_Server_Startup SB> http://perl.apache.org/search/swish.cgi?query=Apache%3A%3ARegistryLoader&sbm=&submit=search SB> __________________________________________________________________ SB> Stas Bekman JAm_pH ------> Just Another mod_perl Hacker SB> http://stason.org/ mod_perl Guide ---> http://perl.apache.org SB> mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com SB> http://modperlbook.org http://apache.org http://ticketmaster.com -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html