Hello,

The attached patch changes external_acl_type cache=n documentation to better reflect the [ugly] reality. The patch does not change how the cache works, but may help admins configure the cache correctly if they stumble upon this documentation.

A typical external ACL cache with the default cache settings consumes about 70 MB of RAM (more in many cases, e.g., if annotations are used with external ACLs). Besides memory usage, the default cache is using only 977 hash buckets for 262144 entries so there may be quite a bit of linear search going on by default.

If you think the default limit should be changed, please say so or file a bug report, but this specific patch is about fixing documentation only.


HTH,

Alex.
=== modified file 'src/cf.data.pre'
--- src/cf.data.pre	2015-12-24 06:57:04 +0000
+++ src/cf.data.pre	2015-12-25 21:53:03 +0000
@@ -727,10 +727,14 @@
 			cached entry should be initiated without needing to
 			wait for a new reply. (default is for no grace period)
 
-	  cache=n	Limit the result cache size, default is 262144.
-			The expanded FORMAT value is used as the cache key, so
-			if the details in FORMAT are highly variable a larger
-			cache may be needed to produce reduction in helper load.
+	  cache=n	The maximum number of entries in the result cache. The
+			default limit is 262144 entries.  Each cache entry usually
+			consumes at least 256 bytes. Squid currently does not remove
+			expired cache entries until the limit is reached, so a proxy
+			will sooner or later reach the limit. The expanded FORMAT
+			value is used as the cache key, so if the details in FORMAT
+			are highly variable, a larger cache may be needed to produce
+			reduction in helper load.
 
 	  children-max=n
 			Maximum number of acl helper processes spawned to service

_______________________________________________
squid-dev mailing list
[email protected]
http://lists.squid-cache.org/listinfo/squid-dev

Reply via email to