From: Grant Slater Date: Sun, 8 Dec 2019 19:13:05 +0000 (+0000) Subject: imagery: backport nginx caching improvements X-Git-Url: https://git.openstreetmap.org/chef.git/commitdiff_plain/827ac27f78f21b1021f37f248e846f9d159778da imagery: backport nginx caching improvements --- diff --git a/cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb b/cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb index 856ec6765..f9caaea4d 100644 --- a/cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb +++ b/cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb @@ -4,6 +4,7 @@ location ~* "^/layer/<%= @layer %>/(\d+)/(\d+)/(\d+)\.(png|jpg|jpeg)$" { fastcgi_param QUERY_STRING "map=/srv/imagery/mapserver/layer-<%= @layer %>.map&mode=tile&layers=<%= @layer %>&tilemode=gmap&tile=$2+$3+$1"; fastcgi_pass "<%= @site %>_fastcgi"; fastcgi_buffers 8 64k; + fastcgi_busy_buffers_size 64k; include fastcgi_params; fastcgi_param REQUEST_METHOD "GET"; fastcgi_param HTTP_PROXY ""; @@ -17,9 +18,14 @@ location ~* "^/layer/<%= @layer %>/(\d+)/(\d+)/(\d+)\.(png|jpg|jpeg)$" { fastcgi_keep_conn off; fastcgi_cache_lock on; - fastcgi_cache_lock_timeout 30s; fastcgi_cache_valid 200 21d; - fastcgi_cache_use_stale error timeout updating http_500 http_503; + + # Serve stale cache on errors or if updating + fastcgi_cache_use_stale error timeout updating http_500 http_503 http_504; + # If in cache as stale, serve stale and update in background + fastcgi_cache_background_update on; + # Enable revalidation using If-Modified-Since and If-None-Match for stale items + fastcgi_cache_revalidate on; # Ignore client abort as it causes issues with the pipeline fastcgi_ignore_client_abort on;