]> git.openstreetmap.org Git - chef.git/blob - roles/tilecache.rb
Base: switch to BBR for Congestion Control
[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     :cache => {
21       :proxy => {
22         :enable => true,
23         :keys_zone => "proxy_cache_zone:64M",
24       }
25     }
26   },
27   :sysctl => {
28     :sockets => {
29       :comment => "Increase size of connection queue",
30       :parameters => {
31         "net.core.somaxconn" => 10000
32       }
33     },
34     :network_conntrack_time_wait => {
35       :comment => "Only track completed connections for 30 seconds",
36       :parameters => {
37         "net.netfilter.nf_conntrack_tcp_timeout_time_wait" => "30"
38       }
39     },
40     :network_conntrack_max => {
41       :comment => "Increase max number of connections tracked",
42       :parameters => {
43         "net.netfilter.nf_conntrack_max" => "524288"
44       }
45     },
46     :network_local_port_range => {
47       :comment => "Increase available local port range",
48       :parameters => {
49         "net.ipv4.ip_local_port_range" => "1024\t65535"
50       }
51     },
52     :network_tcp_timewait_reuse => {
53       :comment => "Allow tcp timewait reuse",
54       :parameters => {
55         "net.ipv4.tcp_tw_reuse" => 1
56       }
57     },
58     :kernel_tfo_listen_enable => {
59       :comment => "Enable TCP Fast Open for listening sockets",
60       :parameters => {
61         "net.ipv4.tcp_fastopen" => 3
62       }
63     },
64     :squid_swappiness => {
65       :comment => "Prefer not to swapout to free memory",
66       :parameters => {
67         "vm.swappiness" => "1"
68       }
69     },
70     :sched_wakeup => {
71       :comment => "Tune scheduler",
72       :parameters => {
73         "kernel.sched_min_granularity_ns" => "10000000",
74         "kernel.sched_wakeup_granularity_ns" => "15000000"
75       }
76     }
77   }
78 )
79
80 run_list(
81   "recipe[tilecache]"
82 )