Since I updated my old ldirectord to current CVS I have the checktype option
in ldirectord, and I want to start using it. But I have one question...
Short question: does 'checktype = 6' cache the result from the real check
that's done every N times and force the negotiate check over the connect
check when failures were detected?
Long explanation:
The default is checktype = negotiate, which is what I'm using now for most
websites. Some sites that are merely HTTP redirects have a checktype =
connect. Both work fine.
Checktype = negotiate, however, is pretty heavy on the webserver, it's even
the most visited page for all but our most popular websites. In order to cut
down on the load we first made the negotiate check such that it only checks
the actual database connection once every minute, and during the rest of the
time just return the cached success value from this check. If the last check
signaled failure the full check is always performed. Obvious ASP and IIS
errors still turn up this way, and at the same time the processing time on
web and database servers is severely cut (as long as there's no failure).
I want to cut down on this even more though, because the negotiate check still
uses a rather heavy http socket connection from the realserver's IP to the
VIP (which can only be done on the realserver itself if you want to enforce
ending up on a single particular realserver).
Thus, I want to use 'checktype = 6' to do 5 simple connect checks and once
every minute the full negotiate check.
BUT: that only makes sense if the other 5 checks still do the full negotiate
when the last negotiate wasn't succesful.
Is that the case?
Thanks in advance,
--
Martijn
|