La Vita è Bella
Monday, January 05, 2009
The high memory usage of Squid with external acl
We configured some Squid 2.6 servers that use external_acl_type to use some headers sent by client for access control. And the authentication isn't username/password routine, but use some tag to calculate hash. When running, the memory used by Squid just keep increasing from time to time, just like it have a memory leak. We tried to disable the acl on some server, and these servers runs just fine.
As external acl run in individual process, even if the acl program have memory leak, the memory used by the squid process shouldn't be growing.
We tried many ways to figure out the problem, but all fails. Finally someone noticed that in the external_acl_type documentation, there's a parameter named "cache", with this description:
result cache size, 0 is unbounded (default)
"unbounded"! So this is the problem. For username/password routine, cache is useful. the next time some user with the same username/password comes, Squid can get the result from cache without communicate with acl program. But for our authentication method, as the headers used to calculate hash is differ from every request, cache is totally useless.
I really hope that "0" means no cache and "-1" means unbounded. But anyway, set "cache" to 1 can do the trick. Now the Squids don't have memory problems anymore, although cache replace will slow them down a bit.
tags: squid, memory, linux, external, acl
18:09:03 by fishy - linux - Permanent Link
Revision: 1.0/1.0, last modified on 2009-01- 5 @ 18:09.
Karma: 16 (72.22% out of 36 were positive) [+/-]
You can subscribe to RSS 2.0 feed for comments and trackbacks
Trackbacks:ehcache.netThe high memory usage of Squid with external acl: We configured some Squid 2.6 servers that use external_acl_type to use some headers sent by client for access control. And the authentication isn't username/password routine, but use some tag to calculate hash. When running, the memory used by Squid just keep increasing from time to time, just like it have a memory leak. We tried to disable the acl on some server, and these servers runs just fine.2011-02-17 @ 14:39Use this TrackBack url to ping this item (right-click, copy link target). If your blog does not support Trackbacks you can manually add your trackback by using this form.
No comments yet


