]> git.openstreetmap.org Git - chef.git/blob - roles/tile.rb
Fix mpm for tile servers
[chef.git] / roles / tile.rb
1 name "tile"
2 description "Role applied to all tile servers"
3
4 default_attributes(
5   :accounts => {
6     :users => {
7       :tile => {
8         :status => :role,
9         :members => [:jburgess, :tomh]
10       }
11     }
12   },
13   :apache => {
14     :mpm => "event",
15     :timeout => 60,
16     :event => {
17       :server_limit => 60,
18       :max_request_workers => 1200,
19       :threads_per_child => 20,
20       :min_spare_threads => 300,
21       :max_spare_threads => 1200,
22       :max_connections_per_child => 0,
23       :async_request_worker_factor => 4,
24       :listen_cores_buckets_ratio => 6
25     }
26   },
27   :munin => {
28     :plugins => {
29       :renderd_processed => {
30         :graph_order => "reqPrio req reqLow dirty reqBulk dropped",
31         :reqPrio => { :draw => "AREA" },
32         :req => { :draw => "STACK" }
33       }
34     }
35   },
36   :postgresql => {
37     :settings => {
38       :defaults => {
39         :max_connections => "250",
40         :temp_buffers => "32MB",
41         :work_mem => "128MB",
42         :wal_buffers => "1024kB",
43         :wal_writer_delay => "500ms",
44         :commit_delay => "10000",
45         :checkpoint_segments => "60",
46         :max_wal_size => "2880MB",
47         :random_page_cost => "1.1",
48         :track_activity_query_size => "16384",
49         :autovacuum_vacuum_scale_factor => "0.05",
50         :autovacuum_analyze_scale_factor => "0.02"
51       }
52     }
53   },
54   :sysctl => {
55     :sockets => {
56       :comment => "Increase size of connection queue",
57       :parameters => {
58         "net.core.somaxconn" => 10000
59       }
60     },
61     :kernel_scheduler_tune => {
62       :comment => "Tune kernel scheduler preempt",
63       :parameters => {
64         "kernel.sched_min_granularity_ns" => 10000000,
65         "kernel.sched_wakeup_granularity_ns" => 15000000
66       }
67     }
68   },
69   :tile => {
70     :data => {
71       :simplified_land_polygons => {
72         :url => "https://osmdata.openstreetmap.de/download/simplified-land-polygons-complete-3857.zip",
73         :refresh => true
74       },
75       :simplified_water_polygons => {
76         :url => "https://osmdata.openstreetmap.de/download/simplified-water-polygons-split-3857.zip",
77         :refresh => true
78       },
79       :admin_boundaries => {
80         :url => "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_boundary_lines_land.zip",
81         :directory => "ne_110m_admin_0_boundary_lines_land"
82       },
83       :land_polygons => {
84         :url => "https://osmdata.openstreetmap.de/download/land-polygons-split-3857.zip",
85         :refresh => true
86       },
87       :water_polygons => {
88         :url => "https://osmdata.openstreetmap.de/download/water-polygons-split-3857.zip",
89         :refresh => true
90       },
91       :antarctica_icesheet_polygons => {
92         :url => "https://osmdata.openstreetmap.de/download/antarctica-icesheet-polygons-3857.zip",
93         :refresh => true
94       },
95       :antarctica_icesheet_outlines => {
96         :url => "https://osmdata.openstreetmap.de/download/antarctica-icesheet-outlines-3857.zip",
97         :refresh => true
98       }
99     },
100     :styles => {
101       :default => {
102         :repository => "git://github.com/gravitystorm/openstreetmap-carto.git",
103         :revision => "v4.25.0",
104         :max_zoom => 19
105       }
106     }
107   }
108 )
109
110 run_list(
111   "recipe[tile]"
112 )