On Wednesday 21 April 2010 02:18:33 Jeff McCarrell wrote: > I am willing to trade memory and CPU to achieve a non-stop apache instance. > > So modperl experts: any pointers on prior art here? > I'd love to hear about strategies that have been shown to work in real > life. > I use Apache2::Translation (AT) + MMapDB. Of course it depends upon your app. AT can configure anything that can be configured at runtime. MMapDB stores data in shared mem. As long as you don't need to reload perl modules, create new IP-based VHosts, open additional logfiles or similar you probably don't need to restart.
The mmapdb databases (single files) can be prepared off-line and then be copied to the destination. Then the old database (still mapped by its users) is invalidated by setting a flag. At the time of the next access the new version will be mmapped. MMapDB is completely lock-free. So, deadlocks as with BerkeleyDB cannot occur. It even saves the UTF8 bit of strings. Torsten Förtsch -- Need professional modperl support? Hire me! (http://foertsch.name) Like fantasy? http://kabatinte.net