RW wrote:
On Wed, 23 Dec 2009 13:44:54 -0900
Chris Robertson <[email protected]> wrote:

RW wrote:
On Wed, 23 Dec 2009 17:58:41 +0100
Matus UHLAR - fantomas <[email protected]> wrote:


1. How often is the replacement done?
when the percentage of configured cache_dir size crosses the
cache_swap_high value.
I haven't looked at the code for a long-time and I only looked at
2.x, but  cache_swap_high didn't seem to play any part that I could
see. It's certainly not a simple high/low watermark algorithm.


 From http://www.squid-cache.org/Doc/config/cache_swap_high/...


        The low- and high-water marks for cache object replacement.
        Replacement begins when the swap (disk) usage is above the
        low-water mark and attempts to maintain utilization near the
        low-water mark.  As swap utilization gets close to high-water
        mark object eviction becomes more aggressive.  If utilization
is close to the low-water mark less replacement is done each time.


But as I said  cache_swap_high doesn't actually do anything in the 2.x
code, and given that that description has been around a long time I
doubt anything has changed in 3.x.


Garbage collection occurs at specific intervals. Default is hourly.
AFAIUI (from the paper, not the code)... between high and low items are checked for freshness according to the replacement algorithm. Above high watermark everything marked for potential removal by the replacement algorithm is removed regardless of staleness.

So ...

* the low-volume cache stays low because live requests are performing the replacement of stale objects instead of garbage collection.

* between low and high water marks an old but fresh object will be retained over a newer but definitely stale object.


Amos
--
Please be using
  Current Stable Squid 2.7.STABLE7 or 3.0.STABLE20
  Current Beta Squid 3.1.0.15

Reply via email to