Tag Name |
cache_replacement_policy |
Usage |
cache_replacement_policy policy |
Description
The cache replacement policy parameter decides which objects will
remain in cache and which objects are evicted (replaced) to create
space for the new objects.
- LRU : Squid's original list
based LRU policy
- heap GDSF : Greedy-Dual Size
Frequency
- heap LFUDA : Least Frequently
Used with Dynamic Aging
- heap LRU : LRU policy
implemented using a heap
This applies to any cache_dir
lines listed below this.
The LRU policies keep recently referenced objects. i.e., it replaces
the object that has not been accessed for the longest time.
The heap GDSF policy optimizes
object-hit rate by keeping smaller popular objects in cache. So it has
a better chance of getting a hit. It achieves a lower byte hit rate
than LFUDA though, since it evicts larger (possibly popular) objects.
The heap LFUDA
( Least Frequently Used with Dynamic Aging ) policy keeps popular
objects in cache regardless of their size and thus optimizes byte hit
rate at the expense of hit rate since one large, popular object will
prevent many smaller, slightly less popular objects from being cached.
Both policies utilize a dynamic
aging mechanism that prevents cache pollution that can otherwise occur
with frequency-based replacement policies.
For more information about the
GDSF and LFUDA cache replacement policies see http://www.hpl.hp.com/techreports/1999/HPL-1999-69.html
and http://fog.hpl.external.hp.com/techreports/98/HPL-98-173.html
.
Default |
cache_replacement_policy lru |
Example
cache_replacement_policy heap LFUDA
To use this policy, Squid should be
built with configure option --enable-removal-policies=heap or simply
--enable-removal-policies.
Caution
If using the LFUDA replacement
policy, the value of maximum_object_size should be increased above its
default of 4096 KB to maximize the potential byte hit rate improvement
of LFUDA. If needed to use other policies than default, squid should be
built with configure option --enable-removal-policies.
|