On 16/04/11 14:12, Yang Zhang wrote:
> We're seeing a bunch of the following pairs of RELEASE/SWAPOUT lines
> for the same URL in our store.log. Can anyone help me understand
> what's happening here?
>
> 1302893424.155 RELEASE 00 000830A0 6E5CACCDB20F6654643A090ACC1B995D
> 200 1302893423 -1 -1 application/json 2058/2058 GET
> http://foo.com/alpha
> 1302893424.155 SWAPOUT 00 000830A2 6E5CACCDB20F6654643A090ACC1B995D
> 200 1302893424 -1 -1 application/json 2058/2058 GET
> http://foo.com/alpha
Cached http://foo.com/alpha is being replaced with a new copy.
> 1302893424.332 RELEASE 00 000830A4 28E57991079BA357DCD9AA6C8D435A57
> 200 1302893424 -1 -1 application/json 2057/2057 GET
> http://foo.com/beta
> 1302893424.333 SWAPOUT 00 000830A6 28E57991079BA357DCD9AA6C8D435A57
> 200 1302893424 -1 -1 application/json 2057/2057 GET
> http://foo.com/beta
Cached http://foo.com/beta is being replaced with a new copy.
>
> Our squid.conf should aggressively cache everything forever, since
> we're using squid as an application cache against remote web services:
>
> # Increased disk cache size to 5GB; currently consuming 2.8GB
> cache_dir ufs /var/spool/squid3 5000 16 256
> ...
> # Cache everything, forever
> refresh_pattern . 525600 100% 525600 override-expire ignore-private ignore-n
>
> So I don't understand why there are RELEASEs happening at all - I
Caching "forever" is simply not possible. The cache items get removed
when there is no space available for new ones, when they are updated, or
when they expire.
> assume that means . If I also interleave lines from access.log:
>
> 1302893423.974 SWAPOUT 00 000830A0 6E5CACCDB20F6654643A090ACC1B995D
> 200 1302893423 -1 -1 application/json 2058/2058 GET
> http://foo.com/alpha
> 1302893423.975 255 10.160.227.224 TCP_MISS/200 2372 GET
> http://foo.com/alpha - DIRECT/173.223.232.122 application/json
> ...
> 1302893424.155 RELEASE 00 000830A0 6E5CACCDB20F6654643A090ACC1B995D
> 200 1302893423 -1 -1 application/json 2058/2058 GET
> http://foo.com/alpha
> 1302893424.155 SWAPOUT 00 000830A2 6E5CACCDB20F6654643A090ACC1B995D
> 200 1302893424 -1 -1 application/json 2058/2058 GET
> http://foo.com/alpha
> 1302893424.183 466 10.160.227.224 TCP_MISS/200 2372 GET
> http://foo.com/alpha - DIRECT/173.223.232.122 application/json
> 1302894993.280 8 10.160.227.224 TCP_MEM_HIT/200 2381 GET
> http://foo.com/alpha - NONE/- application/json
> 1302894993.280 8 10.160.227.224 TCP_MEM_HIT/200 2381 GET
> http://foo.com/alpha - NONE/- application/json
access.log records the time of finish plus the service duration.
Interleaving has to be done taking the duration into account to find the
start time...
(access.log #2 started: 1302893424.183 - 0.466)
1302893423.717 10.160.227.224 GET http://foo.com/alpha
(access.log #1 started: 1302893423.975 - 0.255)
1302893423.750 10.160.227.224 GET http://foo.com/alpha
(access.log #1 finished.
> 1302893423.974 SWAPOUT 00 000830A0 6E5CACCDB20F6654643A090ACC1B995D
> 200 1302893423 -1 -1 application/json 2058/2058 GET
> http://foo.com/alpha
> 1302893423.975 255 10.160.227.224 TCP_MISS http://foo.com/alpha
NP: new requests will HIT the #1 object.
(access.log #2 finished.)
> 1302893424.155 RELEASE 00 000830A0 6E5CACCDB20F6654643A090ACC1B995D
> 200 1302893423 -1 -1 application/json 2058/2058 GET
> http://foo.com/alpha
> 1302893424.155 SWAPOUT 00 000830A2 6E5CACCDB20F6654643A090ACC1B995D
> 200 1302893424 -1 -1 application/json 2058/2058 GET
> http://foo.com/alpha
NP: new requests will HIT the #2 object.
The MEM_HITs occured much later and HIT the #2 object.
Avoiding this overlap during fetch lag requires the "collapsed
forwarding" feature. (Which nobody has yet ported to Squid-3. Hint.)
Amos
-- Please be using Current Stable Squid 2.7.STABLE9 or 3.1.12 Beta testers wanted for 3.2.0.6Received on Sat Apr 16 2011 - 04:05:09 MDT
This archive was generated by hypermail 2.2.0 : Sun Apr 17 2011 - 12:00:03 MDT