]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/tilecache/templates/default/nginx_tile.conf.erb
tilecache: fix peer weight
[chef.git] / cookbooks / tilecache / templates / default / nginx_tile.conf.erb
index f78bab03d1a81d4556b20e8d8892741c476eec40..4495f568af839ef6457874b05b9ab61371ac973c 100644 (file)
@@ -4,18 +4,23 @@ upstream tile_cache_backend {
   server 127.0.0.1:8080;
   server 127.0.0.2:8080;
 
-  # Add the other caches to relieve pressure if local squid failing
+  # Add the tile_siblings caches to relieve pressure if local squid failing
   # Balancer: round-robin
+<% server_weight = 20 -%>
+<% @node[:tilecache][:tile_siblings].each do |cache_peer| -%>
 <% @caches.each do |cache| -%>
+<% if cache_peer == cache[:fqdn] -%>
 <% if cache[:hostname] != node[:hostname] -%>
 <% cache.ipaddresses(:family => :inet, :role => :external).sort.each do |address| -%>
-  server <%= address %>:80 backup; # Server <%= cache[:hostname] %>
+  server <%= address %>:80 weight=<%= server_weight.div(10) %>; # Server <%= cache[:hostname] %>
+<% server_weight += 5 -%>
+<% end -%>
+<% end -%>
 <% end -%>
 <% end -%>
 <% end -%>
 
-  keepalive 512;
-  keepalive_requests 1024;
+  keepalive 128;
 }
 
 # Geo Map of tile caches