Add max_wal_size support for postgresql 9.5
[chef.git] / roles / nominatim.rb
1 name "nominatim"
2 description "Role applied to all nominatim servers"
3
4 default_attributes(
5   :accounts => {
6     :users => {
7       :lonvia => { :status => :administrator },
8       :twain => { :status => :administrator },
9       :nominatim => {
10         :status => :role,
11         :members => [:lonvia, :tomh, :twain]
12       }
13     }
14   },
15   :apache => {
16     :mpm => "event",
17     :timeout => 60,
18     :keepalive => false,
19     :event => {
20       :server_limit => 32,
21       :max_clients => 1600,
22       :threads_per_child => 50
23     }
24   },
25   :postgresql => {
26     :settings => {
27       :defaults => {
28         :max_connections => "450",
29         :synchronous_commit => "off",
30         :checkpoint_segments => "32",
31         :checkpoint_timeout => "10min",
32         :max_wal_size => "1536MB",
33         :checkpoint_completion_target => "0.9",
34         :shared_buffers => "2GB",
35         :autovacuum_max_workers => "1"
36       }
37     }
38   },
39   :sysctl => {
40     :postgres => {
41       :comment => "Increase shared memory for postgres",
42       :parameters => {
43         "kernel.shmmax" => 26 * 1024 * 1024 * 1024,
44         "kernel.shmall" => 26 * 1024 * 1024 * 1024 / 4096
45       }
46     },
47     :kernel_scheduler_tune => {
48       :comment => "Tune kernel scheduler preempt",
49       :parameters => {
50         "kernel.sched_min_granularity_ns" => 10000000,
51         "kernel.sched_wakeup_granularity_ns" => 15000000
52       }
53     },
54     :swappiness => {
55       :comment => "Reduce swap usage",
56       :parameters => {
57         "vm.swappiness" => 10
58       }
59     },
60     :network_conntrack_time_wait => {
61       :comment => "Only track completed connections for 30 seconds",
62       :parameters => {
63         "net.netfilter.nf_conntrack_tcp_timeout_time_wait" => "30"
64       }
65     },
66     :network_conntrack_max => {
67       :comment => "Increase max number of connections tracked",
68       :parameters => {
69         "net.netfilter.nf_conntrack_max" => "131072"
70       }
71     }
72   },
73   :nominatim => {
74     :enabled => false,
75     :repository => "git://git.openstreetmap.org/nominatim.git",
76     :tablespaces => {
77       "Osm2pgsql_Data" => "data",
78       "Osm2pgsql_Index" => "data",
79       "Place_Data" => "data",
80       "Place_Index" => "ssd2",
81       "Address_Data" => "data",
82       "Address_Index" => "ssd2",
83       "Search_Data" => "ssd1",
84       "Search_Index" => "ssd1",
85       "Aux_Data" => "aux",
86       "Aux_Index" => "aux"
87     },
88     :fpm_pools => {
89       :www => {
90         :port => "8000",
91         :pm => "dynamic",
92         :max_children => "60"
93       },
94       :bulk => {
95         :port => "8001",
96         :pm => "static",
97         :max_children => "10"
98       },
99       :details => {
100         :port => "8002",
101         :pm => "static",
102         :max_children => "2"
103       }
104     },
105     :redirects => {}
106   }
107 )