On 9/05/2013 4:01 a.m., Neal Howard wrote:
I am trying to configure a quad-core server (64-bit RHEL 6.4 with 8GB ram) for running Squid in SMP mode and not sure if I fully understand how to configure for more than one cache_dir to get around the limitations of sharing the cache between workers and all the implications of attempting what I'm trying to accomplish anyway. I think I understand that multiple workers can only truly share a rock cache, and that they must each have their own ufs disk directory structure type of cache. And also the caveat with the rock cache is that the maximum shareable object size is a mere 32K bytes. So, for example if I want two workers, and to be able to cache objects larger than 32K, I need two ufs cache_dirs and one rock cache_dir. I'm currently testing the following configs and squid seems to be proxying OK, but the cache hits percentages seem to be really low. Is this set of cache_dir configs going to get me what I'm fishing for here, in that each worker has its own ufs cache for objects greater than 32K but less than 4M, and the one rock cache will be shared between the two workers for objects 32K and smaller?
For the current releases that is right. There is work underway to raise the rock size limits, and if anyone gets around to it UFS need not be this way either. So you will be wanting to readjust in a few versions, but that is fine for now.
relevant portion of my squid.conf ----------------------------- workers 2 cpu_affinity_map process_numbers=1,2 cores=2,3 if ${process_number}=1 cache_dir ufs /proxycache1 20000 32 512 min-size=32769 max-size=4096000 endif if ${process_number}=2 cache_dir ufs /proxycache2 20000 32 512 min-size=32769 max-size=4096000 endif cache_dir rock /proxycache3 40000 min-size=0 max-size=32768 cache_replacement_policy lru store_dir_select_algorithm round-robin maximum_object_size 4MB cache_mem 512MB maximum_object_size_in_memory 32KB memory_cache_shared on memory_cache_mode always memory_replacement_policy lru -------------------------------- Here's the cache hits I'm currently seeing, roughly 1000 active users are surfing thru this server: Cache information for squid: Hits as % of all requests: 5min: 8.4%, 60min: 8.7% Hits as % of bytes sent: 5min: 5.5%, 60min: 5.1% Memory hits as % of hit requests: 5min: 30.4%, 60min: 26.6% Disk hits as % of hit requests: 5min: 16.2%, 60min: 16.5% ---------------------------------------------------------------------------------------------------------- Any thoughts? Or am I doing anything wrong here?
Hit ratio depends a lot on what the traffic actually is. 30% memory hit ratio is not too bad. What were you getting before?
NP: the 4MB lmit is just an arbitrary flag in the sand marking a size which enables large scripts, graphics and audio on web pages, but does not cache video content. If you have much video traffic and cache space you may want to consider raising that to a few tens of MB.
PS. I have a doubt about how "memory_cache_mode always" interacts with SMP-aware Squid shared memory limits.
Could you let me know if turning that off changes the ratios at all? Amos