On 20/01/2012 10:41 a.m., darren.trzynka_at_thomsonreuters.com wrote:
> I am configuring squid caches to be siblings of each other and have gotten them to correctly communicate with each other from an ICP perspective and have one of the caches (B) pull content from another cache (A) that already had the object cached, but it seems when it pulls this object that it ends up caching it locally. When a subsequent request is made to cache B, it is found right away, logs a TCP_HIT and returns the object. I would have expected that request to make an ICP request to A again and then retrieve it from it but instead it was in its cache. I believe I verified this as well by looking on disk and there is then an object which did not exist prior. I thought by making the sibling proxy-only that would force to never cache from anything it received from a sibling, but it doesn't appear to be the case.
> Thanks
> Darren
>
> Cache A Config (without logging configurations)
> acl all src all
> acl manager proto cache_object
>
> debug_options ALL,1 33,2
> cache_mem 4096 MB
> http_port 10.208.129.40:8060 accel defaultsite=mysite.com vport=80
> cache_peer parent.com parent 7779 0 no-query originserver name=myAccel
> icp_port 3200
> icp_access allow all
> cache_peer myhost sibling 8061 3201 name=myhost8061 proxy-only
> http_access allow all
> cache_peer_access myAccel allow all
> cache_peer_access myAccel deny all
>
> Cache A Log
> [01-18-2012:15:32:01] 1326922321.696 22 10.208.128.43 TCP_MISS/200 48646 GET joe.com/thumb.png - FIRST_UP_PARENT/myAccel image/png "PRODUCT:-" "BU:-" "SESSION:-" "USER:-" "ROOT:-" "PARENT:-"
Note the *PARENT* is source. Not the sibling.
> [01-18-2012:15:32:14] 1326922334.204 2 10.208.128.43 TCP_HIT/200 48657 GET joe.com/thumb.png - NONE/- image/png "PRODUCT:-" "BU:-" "SESSION:-" "USER:-" "ROOT:-" "PARENT:-"
> [01-18-2012:15:32:25] 1326922345.314 - 127.0.0.2 UDP_HIT/000 116 ICP_QUERY joe.com/thumb.png - NONE/- - "PRODUCT:-" "BU:-" "SESSION:-" "USER:-" "ROOT:-" "PARENT:-"
Note this last lookup was a UDP_HIT. But the sibling fetch which should
have followed it is not listed.
> Cache B Config (without logging configurations)
> acl all src all
> acl manager proto cache_object
>
> debug_options ALL,1 33,2
> cache_mem 4096 MB
> http_port 10.208.129.40:8061 accel defaultsite=mysite.com vport=80
> cache_peer trp0001-08.int.westgroup.com parent 7779 0 no-query originserver name=myAccel
> icp_port 3201
> icp_access allow all
> cache_peer myhost sibling 8060 3200 name=myhost8060 proxy-only
> http_access allow all
> cache_peer_access myAccel allow all
> cache_peer_access myAccel deny all
>
> Cache B Log
> [01-18-2012:15:32:01] 1326922321.674 - 127.0.0.2 UDP_MISS/000 116 ICP_QUERY joe.com/thumb.png - NONE/- - "PRODUCT:-" "BU:-" "SESSION:-" "USER:-" "ROOT:-" "PARENT:-"
> [01-18-2012:15:32:25] 1326922345.354 40 10.208.128.43 TCP_MISS/200 48646 GET joe.com/thumb.png - FIRST_UP_PARENT/myAccel image/png "PRODUCT:-" "BU:-" "SESSION:-" "USER:-" "ROOT:-" "PARENT:-"
Note the *PARENT* is the source, not the sibling.
Also, note the two requests above are completely unrelated to each
other. The first is cacheB denying a sibling probe from cacheA. The
second is cacheB serving an HTTP request from some client at 10.208.128.43.
Amos
Received on Fri Jan 20 2012 - 01:59:54 MST
This archive was generated by hypermail 2.2.0 : Fri Jan 20 2012 - 12:00:03 MST