imagery: better fastcgi handling
authorGrant Slater <git@firefishy.com>
Fri, 7 Sep 2018 00:48:10 +0000 (01:48 +0100)
committerGrant Slater <git@firefishy.com>
Fri, 7 Sep 2018 00:48:18 +0000 (01:48 +0100)
cookbooks/imagery/resources/site.rb
cookbooks/imagery/templates/default/nginx_imagery_layer_fragment.conf.erb

index 40d6ae62fa777ff4c4830d90fbc0361e75da93fa..a5dc23d0c72efc271ee3adf11a7f90613dc64997 100644 (file)
@@ -96,7 +96,7 @@ action :create do
     environment "MS_MAP_PATTERN" => "^/srv/imagery/mapserver/",
                 "MS_DEBUGLEVEL" => "0",
                 "MS_ERRORFILE" => "stderr",
-                "GDAL_CACHEMAX" => "256"
+                "GDAL_CACHEMAX" => "128"
     limit_nofile 16384
     memory_high "512M"
     memory_max "1G"
index 5ef9a15f99f165a85d51e896f2ae71687fa9fc35..922ec7a9600107a58ec729dba9c140b88d3328fa 100644 (file)
@@ -8,21 +8,27 @@ location ~* "^/layer/<%= @layer %>/(\d+)/(\d+)/(\d+)\.(png|jpg|jpeg)$" {
   include fastcgi_params;
   fastcgi_param REQUEST_METHOD "GET";
   fastcgi_param HTTP_PROXY "";
-  fastcgi_read_timeout 300s;
+  fastcgi_read_timeout 60s;
 
   # Caching
   fastcgi_cache "fastcgi_cache_zone";
   fastcgi_cache_key "<%= @layer %><%= @revision %> $request_method $1 $2 $3";
-  fastcgi_keep_conn on;
+
+  # Free connection to socket for other requests
+  fastcgi_keep_conn off;
+
   fastcgi_cache_lock on;
-  fastcgi_cache_lock_timeout 60s;
+  fastcgi_cache_lock_timeout 30s;
   fastcgi_cache_valid 200 21d;
   fastcgi_cache_use_stale error timeout updating http_500 http_503;
 
-  fastcgi_ignore_client_abort on;
+  # Leaflet aborts connection still in flight to free up resources
+  fastcgi_ignore_client_abort off;
 
   fastcgi_catch_stderr "Image handling error";
 
+  fastcgi_next_upstream_tries 3;
+
   # Do not GZIP tiles
   gzip off;