multiple levels of QoS

From: Igor V. Alekseev <aiv@dont-contact.us>
Date: Thu, 4 Feb 1999 12:47:49 +0300 (MSK)

Hi,

I have run into problems with cache hierarhy configuration. The idea is to have
two groups of users - hi and low priority, group1 and group2. The hierarchy
under my control is two-level, like this:

level 1 level 2 level 3 (beyond my control)

proxy-1.1 proxy-2.1 proxy-3.1 (fast uplink)
        (30 msec) (2300 msec)

siblings... siblings... proxy-3.2 (slow uplink)

I am trying to achieve the following scheme of resolving requests for the
groups.

group1: (good QoS)

MISS proxy-1.1------------------>proxy-3.1
if (proxy-3.1 is down)
        proxy-1.1----->proxy-2.1
if (proxy-2.1 is down)
        proxy-1.1-------------------------------->direct
        
HIT proxy-1.1
        proxy-1.1 siblings
or HIT proxy-1.1----->proxy-2.1
or HIT proxy-1.1------------------>proxy-3.1
or HIT proxy-1.1------------------>proxy-3.2

group2: (poor QoS)
        
MISS proxy-1.1----->proxy-2.1
if (proxy-2.1 is down)
        proxy-1.1------------------>proxy-3.2

HIT proxy-1.1
        proxy-1.1 siblings
or HIT proxy-1.1----->proxy-2.1
or HIT proxy-1.1------------------>proxy-3.2
        
        
or verbally: for high priority group 1 resolve ALL misses through high-speed
parent (proxy-3.1), unless it is down. If proxy-3.1 is down, use proxy-2.1 to
resolve misses. If proxy-2.1 is down - go direct.

for low priority group 2 never go direct, for misses - use parent proxy-2.1 if
it is unavailable - use proxy-3.2. If proxy-3.2 is unavailble - fail.

So I made two acl's for the two groups, say GROUP1 and GROUP2 and configured
squid on proxy-1.1:

...
cache_peer proxy-3.1 parent 3128 3130 weight=5000
cache_peer proxy-2.1 parent 3128 3130 weight=1
cache_peer proxy-3.2 parent 3128 3130 weight=1
cache_peer_access proxy-3.1 allow GROUP1
cache_peer_access proxy-3.1 deny all
always_direct allow LOCAL_DST
never_direct deny LOCAL_DST
never_direct deny !GROUP1
http_access allow GROUP1
http_access allow GROUP2
miss_access allow GROUP1
miss_access allow GROUP2
...

for group2 all works fine, just as illustrated, but for group1 problems occur.
The exact nature is that squid on proxy-1.1 does not always select proxy-3.1 for
resolving MISS'es, even though it is always up. Even for web documents from the
same server during one session it frequently tries to use proxy-2.1 or proxy-3.2
instead of proxy-3.1. As you can see, the weight given to it ubnormally large,
but this does not help.

The main result should be that all MISS' for GROUP1 are resolved through
proxy-3.1. And only if proxy-3.1 is down, others should be used for GROUP1.
But this does not happen. What am I ignoring?

TIA,

Igor V. Alekseev
Yaroslavl Regional Network
Received on Thu Feb 04 1999 - 03:02:50 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:44:21 MST