Jason Healy wrote:
I've been inspired by the recent discussions to set up my own multiple-instanace Squid box. I've got it running with some real connections in a basic config, and I think I've got most of the general config issues worked out. I have questions about some of the advanced tweaking and how it works with multiple instances, and I'm also looking for a general sanity check on my config... We have 7 instances of Squid 2.7STABLE running on a single box right now. 2 are "frontend" (used by clients), and 5 are "backend" (parent peers to the frontends). The frontend instances have all the ACLs, delay pools, and access logging. They are configured for memory-only caching (no storedir), and max out at 4GB process space. The backend instances have small cache_mem and have the storedirs defined. They don't do any delay pools, ACLs or logging (unless I need debugging). I'm wondering: - Do delay pools work properly if they're only on the frontend, or are they ignored if a peer handles the request for us? I'm hoping they do, otherwise there's no good way to enforce consistent limits when spread across 5 backends.
Unless you specify "no-delay" on the cache_peer line, delay pools are active even to peers.
- If I use a rewrite program, should I have it on just the frontends, just the backends, or all instances (I'm not sure how the rewrite affects peer requests)?
I'd suggest putting the url_rewrite_program on the front end as... Please note - the normal URL rewriter rewrites Squid's _destination_ URL - ie, what it fetches. The Store URL rewriter rewrites Squid's _store_ URL - ie, what it uses to store and retrieve objects. http://www.squid-cache.org/Doc/config/storeurl_rewrite_program/
- Similarly, should I use storeurl_rewrite_program on the frontends, the backends, or all instances (I suspect it should be "all")?
If the requests made to the parents has been normalized by the url_rewrite_program, then you shouldn't need a storeurl_rewrite_program at all.
- I'm using round-robin for the backend peer selection. Should I switch to carp, or is that overkill when the instances are on the same physical box? What advantages does carp have?
CARP routes a given request to the same parent every time. Since cache can't be shared between instances (on the same server or not) this can aid caching efficiency.
Thanks, Jason -- Jason Healy | jhealy@xxxxxxxx | http://www.logn.net/
Chris