perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Förtsch <torsten.foert...@gmx.net>
Subject Re: non-stop generational modperl config update strategies?
Date Wed, 21 Apr 2010 08:27:29 GMT
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

Mime
View raw message