Massimo et al, I got the master-interp branch of Rivet built and running on a near-production next-generation webserver running FreeBSD 8.2-PRERELEASE. Moving the loading of the hundreds of packages we are doing in the ChildInitScript into the ServerInitScript cut the apachectl graceful time to launch 150 children to about five seconds of realtime from start to the system being stable and idle and ready to handle requests. And it works. Each child process shows 0 CPU seconds, as opposed to about 12 CPU seconds having each child do all the initialization separately (and mostly system CPU, too).
We had some hacks in there to randomly delay Apache child startup, too, because it made the whole thing faster by reducing contention. That's off in test and we won't need it anymore. If all goes well we'll try it tomorrow in production and if it works on one of the webservers, we'll push it to all of them. Karl On Jan 23, 2011, at 6:09 PM, Massimo Manghi wrote: > The code in branches/master-interp is now holding the code I modified with the > master interpreter creation and initialization through the undocumented > ServerInitScript directive. Children interps are supposed to be clones of the > master interp and shouldn't need further explicit additional initialization > (didn't test it in a complex environment though) > > -- Massimo > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
