Hi all,
I'm trying to make sure that I have my disk caching set up properly for a specific subdomain under nginx. Here's what I have in my nginx.conf:
proxy_cache_path /opt/nstein/cache levels=1:2 keys_zone=CACHE:100m inactive=10m max_size=1g;
proxy_temp_path /opt/nstein/cache/tmp;
And here's what I have in my site config file:
server {
server_name media.domain.com;
access_log off;
location / {
proxy_pass http://nstein_mm-rest_cluster;
proxy_cache CACHE;
proxy_cache_valid 200 10;
proxy_cache_valid 404 1m;
proxy_cache_key "$host$request_uri";
proxy_cache_use_stale error timeout invalid_header;;
}
}
Basically it's image requests that come through media.domain.com, but we are using GD to perform image resizing. For instance, requests like this are sent through:
http://media.domain.com/?controllerName=image&action=get&id=4164&format=homepage_lead
I can see the image binary data in my /opt/nstein/cache directory and nginx does seem to be serving from cache correctly. What's odd to me is that if I run ab (Apache benchmark) against the above URL, I'll still see *some* of the requests passed on to the back end Apache server, however most of the time the request is served from cache.
Is there a reason that some of the requests are still passed to back end? Why is it that not all are served from cache?
Thanks!