Re: [squid-users] Select parent without ICP

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Wed, 9 Feb 2005 00:19:31 +0100 (CET)

On Tue, 8 Feb 2005, Paul Dugas wrote:

> On some networks, yes. That may be the issue here. I may just need to
> just wait. Boy, how I wish it was standard to hand out http_proxy info in
> DHCP responses.

Well.. it is, sortof. See WPAD. Not an official standard but is supported
by Microsoft (DHCP then DNS) and a few other browsers (only DNS, due to
lack of integrated DHCP stacks outside of Windows...)

> I guess I need to do some digging to get up to speed on how peers are
> deemed DEAD and how they;re restored, if ever.

A non-ICP peer is defined as dead if 10 consequtive TCP connections to the
peer fails.

Once found dead Squid starts to probe them with TCP connrections when
there is requests to be forwarded.

In addition the never_direct flag is a key component in a setup like
yours. Without it Squid only selects a single peer and uses direct as
fallback mechanism if the request could not be forwarded via the selected
peer. If never_direct then all parents are selected as viable forwarding
paths and Squid cycles over them until one is found working.

The order Squid selects the peers is dependent on which flags besides
no-query is used. If no flags is used the peers is selected in the order
listed in squid.conf.

How Squid selects which peer to use:

never_direct allow:

     1. Selected ICP peer
     2. The preferred parent
        2a) default
        2b) round-robin
        2c) first alive parent found in squid.conf
     3. all parents in the order listed in squid.conf

never_direct deny (default):

     1. Selected ICP peer
     2. Direct if prefer_direct on
     3. The preferred parent
     4. Direct if prefer_direct off

Also notice that prefer_direct does not force Squid to use a parent, it is
just a weak modifier to hint to Squid that it may be a good idea to use a
parent on cacheable requests even if none responded to ICP.

If combined with nonhierarchical_direct then Squid is more willing to use
a parent, but still only one single attempt to us a parent per request.

To make Squid really try to use the parents never_direct is needed as can
be seen in the lists above.

Regards
Henrik
Received on Tue Feb 08 2005 - 16:19:34 MST

This archive was generated by hypermail pre-2.1.9 : Tue Mar 01 2005 - 12:00:01 MST