[Catalyst] FCGI automatic restart / memory leaks

Tobias Kremer list at funkreich.de
Thu Aug 16 14:30:28 GMT 2007


Quoting Bernhard Graf <catalyst2 at augensalat.de>:
> On Thursday 16 August 2007 14:32, Tobias Kremer wrote:
> > Quoting Bernhard Graf <catalyst2 at augensalat.de>:
> > > You should definitely do that. Not only for this case - daemontools
> > > (or similar like runit) are superior for nearly every server
> > > service on *ix OSes. Check out
> > > http://smarden.org/runit/runscripts.html and compare the scripts
> > > with typical System-V run scripts (not mentioning the supervision
> > > concept in general).
> > I suppose that the whole fcgi-pm process will be restarted instead of
> > individual fcgi processes, correct? That'd mean a downtime of about 5
> > seconds which would render it useless to me :(
> No. The softlimit applies to each of the processes forked by the master,
> so each process is terminated if it gets too fat.

Cool! :)

> > I just _hope_ that lighttpd will do the right thing as the error log
> > tells me this when a backend server goes down:
> > connect failed: Connection refused on unix:/srv/webapp.socket
> > backend died; we'll disable it for 5 seconds and send the request to
> > another backend instead: reconnects: 0 load: 1
> Just by setting multiple "socket" entries in the lighttpd-conf?

Yes, like so:

$HTTP["host"] =~ "bla" {
    fastcgi.server = (
        "" => (
            "MyApp" => (
                "socket" => "/srv/socket_1",
                "check-local" => "disable"
            ),
            (
                "socket" => "/srv/socket_2",
                "check-local" => "disable"
            )
        )
    )
}

--Tobias



More information about the Catalyst mailing list