On 20/01/2012 10:41 a.m., darren.trzynka@xxxxxxxxxxxxxxxxxx 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