On 2/10/2013 10:02 p.m., Jérôme Loyet wrote:
Hello, I'm facing a particular situation. I have to set-up a squid cluster on 10 server. Each server has a lot of RAM (192GB). Is it possible et effective to setup squid to use only memory for caching (about 170GB) ?
memory-only caching is the default installation configuration for Squid-3.2 and later.
What directive should be tweaked ? (cache_mem, cache_replacement_policy, maximum_object_size_in_memory, ...). The cache will store object from several KB (pictures) up to 10MB (binary chunks of data).
All of the above memory cache parameters. (cache_replacement_policy is disk parameter, but there is memory_cache_replacement_policy instead).
cache_mem and maximum_object_size_in_memory in particular. The default is for only small objects to be memory cached.
With 10 sibling cache squid instances, what should I use as type of cache peering ? (10 siblings or a multicast ICP cluster, other ?)
With memory cache holding under-32KB objects SMP workers would be best. They share a single memory cache, but it is size limited to 32KB memory pages due to Squid internal storage design. I'm not sure yet whether the work underway to extend Rock storage past this same limit is going to help shared memory cache as well (hope so, but dont know).
For now, if you want larger objects to server from memory you will be best off with a CARP cluster or HTCP sibling configuration for now.
NP: I recommend staying away from ICP with Squid-3.2 and later. We have not yet changed the defaults, but ICP has a very high false-positive hit rate on HTTP/1.1 traffic. HTCP is more bandwidth hungry on the UDP but far better on HIT rate.
Amos