Re: Experimental and incomplete patch: tagging an originserver as dead...and testing if it's alive

From: Henrik Nordstrom <henrik@dont-contact.us>
Date: Fri, 02 Feb 2007 15:40:22 +0100

tis 2007-01-30 klockan 16:50 -0200 skrev Lucas Brasilino:

> I don't know if Squid already has this feature. If so I didn't figure out how.
> I'm working in a patch to tag an originserver as 'dead' if there's a connection
> refuse or a read_timeout.

It already does this on connection refuses or connection failures. See
the calls to peerConnectFailed().

To get things running smoothly in presence of down servers not
responding at all you may need to adjust the connect timeout.

Once a peer has been declared unreachable Squid starts to probe it with
TCP connect probes. Started whenever the peer could have been selected
for a request. As soon as the peer accepts TCP requests again it gets
declared alive.

Can you please explain in more depth what it is you are trying to
accomplish? Ignoring the code as such, focusing more on how you like
Squid to behave.

If a server accepts the TCP connection but never responds then things is
trickier as it's very hard to know how long a server will think before
it responds. There is read_timeout to abort the request, but we do not
declare the peer dead here because there could be a number of reasons
why the response took long time and very often it's isolated to a
specific URL and not the whole server.

If this is not sufficient then the peer monitor function is quite
helpful in detecting malfunctioning servers, verifying nearly the
complete operations of the server at any rate you desire. Or as far as
can be verified with a request for a single URL defined in squid.conf..

Regards
Henrik

Received on Fri Feb 02 2007 - 07:40:31 MST

This archive was generated by hypermail pre-2.1.9 : Thu Mar 01 2007 - 12:00:02 MST