Search squid archive

Re: cache peer: hit, miss and reject

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



OK. Here's the relevant section in my squid config in case you need it:

===[cut]===
# vcache peer setup
cache_peer 127.0.0.1 parent 8088 9999 proxy-only no-digest name=vcache
acl vcache url_regex -i "/z/vcache/etc/squid3/vcache.acl"
cache_peer_access vcache allow vcache
cache_peer_access vcache deny all

# externel routing helper
external_acl_type router children-max=20 children-startup=1
children-idle=1 concurrency=10000 %METHOD %URI %PROTO
/z/vcache/bin/router.js
# returns either:
# <channel> ERR
# <channel> OK tag=peer-miss
# <channel> OK tag=peer-hit

# force direct in case of ERR
acl 2peer external router
always_direct allow !2peer

# TOS marking based on routing helper response. Checking for the
effect with: tcpdump -i eth0 -v -n ip and ip[1]=0x10
acl peering tag peer-hit # doesn't work with this acl in Squid 3.3.8
#acl peering src 10.211.55.2 # TOS marking works as expected with this acl
clientside_tos 0x10 peering
clientside_tos 0x00 !peering
===[cut]===

Hope this helps!

Niki

On Fri, Sep 6, 2013 at 10:10 AM, Amos Jeffries <squid3@xxxxxxxxxxxxx> wrote:
> On 6/09/2013 11:56 a.m., Nikolai Gorchilov wrote:
>>
>> Sorry for the late reply. Was traveling in the last two days.
>>
>> On Wed, Sep 4, 2013 at 10:05 AM, Amos Jeffries <squid3@xxxxxxxxxxxxx>
>> wrote:
>>
>>> I would use an external_acl_type helper to do the calculation about
>>> whether a request was to be cached and set a tag=value on the transaction.
>>> The tag type ACL can then test for this tag and do a "cache deny". Since you
>>> have all traffic
>>>
>>> Something like this:
>>>
>>>    external_acl_type tagger ttl=0 %URL ...  (helper returns "OK
>>> tag=first-seen" or just "OK").
>>>    acl firstSeen external tagger
>>>    acl taggedFirst tag first-seen
>>>    http_accesss deny firstSeen !all
>>>    cache deny !taggedFirst
>>
>> Yeah. Did something like this, works like a charm.
>>
>> Even tried to remove all ICP as it is used only for marking via
>> qos_flows parent. The helper mostly replicates the logic behind our
>> custom ICP listener and returning tag=parent-hit was a no brainer.
>> Unfortunately I have discovered that clientside_tos doesn't support
>> slow acls like tag. I believe this fact has to be mentioned somewhere
>> at http://www.squid-cache.org/Doc/config/clientside_tos/. Will stick
>> to ICP HIT/MISS  & quos_flows for DSP marking for now, while observing
>> ZPH kernel patch as an alternative.
>
>
> 'tag' is a fast-ACL check against the transactions existing tag. I recoomend
> it a lot to prevent mistakes using external_acl_type tests in fast ACL
> checks. Perhapse you have found a bug in the clientside_tos -   checking
> that now.
>
>
>> Thanks Amos. For all the efforts keeping the squid development going
>> and it's community alive :)
>
>
> Welcome
>
> Amos




[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux