]> git.ipfire.org Git - thirdparty/squid.git/commit - src/cf.data.pre
Bug 3553: cache_swap_high ignored and maxCapacity used instead
authorAmos Jeffries <squid3@treenet.co.nz>
Wed, 26 Aug 2015 17:51:18 +0000 (10:51 -0700)
committerAmos Jeffries <squid3@treenet.co.nz>
Wed, 26 Aug 2015 17:51:18 +0000 (10:51 -0700)
commit5f662601ca9e0e43c7789aa2f8b4894607733ee9
tree4ca2fd3a2bb6acf8a67e045fd06e674e697a60b3
parentfd055a194c37c50e9fa09361873128ba32a9a1df
Bug 3553: cache_swap_high ignored and maxCapacity used instead

Also, to make matters worse the amount of objects (max 70) being purged on
each of the 1-second maintenance loops was far too small for the traffic
speeds of up to 20k RPS now being processed by proxies.

This fixes the cache_swap_high behaviour to closer match what is documented
at present, although some documentatino does say it cleans all the way down
to the low-water mark. Which appears never to have been true in regards to
one cycle but would occur over several of the proxy speed was not too high.

With this updated algorithm there is almost no limit to how far the
aggressiveness can scale, but it is linear at 200 objects per multiple of the
gap between low- and high- watermark.

SwapDir::maintain is now fairly well documented and debug traces added. With
several TODO ideas for future improvement also documented in the method code.
src/cf.data.pre
src/fs/ufs/UFSSwapDir.cc