Re: LFU in squid

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Sat, 24 Apr 1999 15:03:55 +0200

Alex Rousskov wrote:

> Note that as far as I know Squid does not support pure LRU. Garbage
> collection happens on per-bucket basis.

Hmm.. last time I looked it uses what I would call "Modified LRU with a
bias to expired objects". The code comments speaks about buckets, but
the code only uses the LRU index.

storeMaintainSwapSpace:
Scan the LRU tail and remove "expired" objects.
Scanning is limited both by range (100 to 500 object depending on store
max/min difference), and number of objects removed (10 to 80, linear to
the amount of objects scanned).

If it would happen that the LRU tail gets filled with objects which are
not expired, then the cache size will increase and the LRU age
(storeExpiredReferencedAge) will creep down causing the objects to
"expire".

It would be interesting to know how much this (current) derivation from
LRU actually improves things compared to how much resources (CPU power)
it requires on a heavily loaded cache.. My suspision is that it actually
performs LRU with a significant higher resource usage.

/Henrik
Received on Tue Jul 29 2003 - 13:15:57 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:06 MST