Question about key_zone in proxy_cache_path

Sven 'Darkman' Michels sven at
Sun Jul 3 01:25:41 MSD 2011

Hi Maxim,

thanks for your quick reply (as usual :)!

Am 02.07.2011 15:38, schrieb Maxim Dounin:
> Yes, except it's not always trivial to calculate number of files 
> you'll have in cache.  Aproach which is expected to work is to set 
> maximum cache size and use max_size / (average file size) as a 
> reference point.

Ah, good point. I was more going to check how much file are at the
backend server and use this, but they probably (for sure) won't be
all in the cache at the same time (at least at some setups).

> Note also that using proxy_cache_min_uses will consume extra keys 
> in keys_zone for counting uses, even if actual files won't be 
> cached.

Ah, also a good catch. Currently i don't use the min_uses but i will
put a remark in my config about it :)

>> Another question would be, if i set it to big, will it hurt performance?
> It will consume extra memory, and hence may hurt performance.  
> It's unlikely will be noticeable though, unless you are 
> memory-bound.

I don't think i'm bound, its more like having 4GB of ram for a nginx
dedicated box which will frontend for 3-4 servers which will have
around 100meg of key_zone size each. So maybe roundabout of 1GB is
used by nginx itself and the rest will be for caching etc. (no other
stuff will run on the box).

>> I already had the key_zone set to small so nginx complained 
>> about and it looked like it stopped serving new data.
> It will try to drop oldest file from cache and continue, though this 
> may fail as well.  So yes, working with full keys_zone isn't good.  

Ok, then i will try to monitor it and adjust the values if needed.
I just would like not the have the cache as another point of failures
for such things (best would be if something with caching fails to just
proxy the request...).

Thanks a lot!


More information about the nginx mailing list