]> git.openstreetmap.org Git - chef.git/blob - roles/tilecache.rb
tilecache: minimal swapout
[chef.git] / roles / tilecache.rb
1 name "tilecache"
2 description "Role applied to all tile cache servers"
3
4 default_attributes(
5   :accounts => {
6     :groups => {
7       :proxy => {
8         :members => [:tomh, :grant, :matt, :jburgess]
9       }
10     }
11   },
12   :apt => {
13     :sources => ["nginx"]
14   },
15   :networking => {
16     :tcp_fastopen_key => "tile"
17   },
18   :nginx => {
19     :access_log => false
20   },
21   :sysctl => {
22     :sockets => {
23       :comment => "Increase size of connection queue",
24       :parameters => {
25         "net.core.somaxconn" => 10000
26       }
27     },
28     :network_conntrack_time_wait => {
29       :comment => "Only track completed connections for 30 seconds",
30       :parameters => {
31         "net.netfilter.nf_conntrack_tcp_timeout_time_wait" => "30"
32       }
33     },
34     :network_conntrack_max => {
35       :comment => "Increase max number of connections tracked",
36       :parameters => {
37         "net.netfilter.nf_conntrack_max" => "524288"
38       }
39     },
40     :network_local_port_range => {
41       :comment => "Increase available local port range",
42       :parameters => {
43         "net.ipv4.ip_local_port_range" => "4096 64000"
44       }
45     },
46     :kernel_tfo_listen_enable => {
47       :comment => "Enable TCP Fast Open for listening sockets",
48       :parameters => {
49         "net.ipv4.tcp_fastopen" => 3
50       }
51     },
52     :squid_swappiness => {
53       :comment => "Prefer not to swapout to free memory",
54       :parameters => {
55         "vm.swappiness" => "1"
56       }
57     },
58     :sched_wakeup => {
59       :comment => "Tune scheduler",
60       :parameters => {
61         "kernel.sched_min_granularity_ns" => "10000000",
62         "kernel.sched_wakeup_granularity_ns" => "15000000"
63       }
64     }
65   }
66 )
67
68 run_list(
69   "recipe[tilecache]"
70 )