]> git.openstreetmap.org Git - chef.git/blobdiff - roles/tilecache.rb
Reduce memory cache size on sarkany
[chef.git] / roles / tilecache.rb
index 3f3f3f08d6a6a49a6a0cf56fa9eca8f01c5da126..ac17511a02eb85aa98869574b9fbbf2a0a646610 100644 (file)
@@ -2,27 +2,75 @@ name "tilecache"
 description "Role applied to all tile cache servers"
 
 default_attributes(
 description "Role applied to all tile cache servers"
 
 default_attributes(
-  :ssl => {
-    :certificate => "tile.openstreetmap"
+  :accounts => {
+    :groups => {
+      :proxy => {
+        :members => [:tomh, :grant, :matt, :jburgess]
+      }
+    }
+  },
+  :apt => {
+    :sources => ["nginx"]
+  },
+  :networking => {
+    :tcp_fastopen_key => "tile"
+  },
+  :nginx => {
+    :access_log => false,
+    :cache => {
+      :proxy => {
+        :enable => true,
+        :keys_zone => "proxy_cache_zone:64M",
+      }
+    }
   },
   :sysctl => {
   },
   :sysctl => {
+    :sockets => {
+      :comment => "Increase size of connection queue",
+      :parameters => {
+        "net.core.somaxconn" => 10000
+      }
+    },
     :network_conntrack_time_wait => {
       :comment => "Only track completed connections for 30 seconds",
     :network_conntrack_time_wait => {
       :comment => "Only track completed connections for 30 seconds",
-      :parameters => { 
+      :parameters => {
         "net.netfilter.nf_conntrack_tcp_timeout_time_wait" => "30"
       }
     },
         "net.netfilter.nf_conntrack_tcp_timeout_time_wait" => "30"
       }
     },
+    :network_conntrack_max => {
+      :comment => "Increase max number of connections tracked",
+      :parameters => {
+        "net.netfilter.nf_conntrack_max" => "524288"
+      }
+    },
+    :network_local_port_range => {
+      :comment => "Increase available local port range",
+      :parameters => {
+        "net.ipv4.ip_local_port_range" => "1024\t65000"
+      }
+    },
+    :kernel_tfo_listen_enable => {
+      :comment => "Enable TCP Fast Open for listening sockets",
+      :parameters => {
+        "net.ipv4.tcp_fastopen" => 3
+      }
+    },
     :squid_swappiness => {
       :comment => "Prefer not to swapout to free memory",
     :squid_swappiness => {
       :comment => "Prefer not to swapout to free memory",
-      :parameters => { 
-        "vm.swappiness" => "30"
+      :parameters => {
+        "vm.swappiness" => "1"
+      }
+    },
+    :sched_wakeup => {
+      :comment => "Tune scheduler",
+      :parameters => {
+        "kernel.sched_min_granularity_ns" => "10000000",
+        "kernel.sched_wakeup_granularity_ns" => "15000000"
       }
     }
   }
 )
 
 run_list(
       }
     }
   }
 )
 
 run_list(
-  "role[geodns]",
-  "recipe[ssl]",
   "recipe[tilecache]"
 )
   "recipe[tilecache]"
 )