Nikolai wrote:
>We are running Squid 2.1PATCH1 on 3 FreeBSD 3.0 machines trying to run a
>cluster of caches in a siblings peering arrangement using multicast for ICP
>queries. The caches seem to be talking to each other fine.
>
>When the client sends a HTTP requested that isn't cached on the configured
>cache, the cache sends out an ICP multicast query, all other caches recieve
>this fine and respond. Either with UDP_MISS or UDP_HIT.
>
>The problem is, if the other caches respond with a UDP_HIT the orginal cache
>still fetches the object directly, rather than fetching the object from the
>sibling. Why?
>
I had a similar problem and question earlier this week (no mcast though).
Turns out it's the infamous "dead_peer_timeout" feature. The default of
10 seconds will flag your peers dead unless there's a sufficient high
and evenly distributed load (requests) on them.
So the (first) sibling response after flagging it dead is ignored and
object fetched directly (and the peer flagged alive). And unless the
next request pops up within 10 seconds the cycle repeats all over.
So I changed the dead_peer_timeout to something ridiciously long
(4 hours) and pray that the behaviour outlined above will be fixed in
the next incarnation of Squid. Ignoring an UDP_HIT is baaaad.
Hope that helps,
<CB>
-- // <CB> aka Christian Balzer, Tannenstr. 23c, D-64342 Seeheim, Germany \X/ CB@aichan.swb.de | Voice: +49 6257 83036, Fax/Data: +49 6257 83037 SWB - The Software Brewery - | http://www.swb.de/ | Anime no OtakuReceived on Thu Nov 26 1998 - 00:03:03 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:43:22 MST