X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/4a28b22933f02eb559f70e228e6de5086d62db68..22df041f3f3b96c099322ddb344f32d689fff943:/roles/tile.rb diff --git a/roles/tile.rb b/roles/tile.rb index 3db2ce2eb..97bd895f8 100644 --- a/roles/tile.rb +++ b/roles/tile.rb @@ -4,52 +4,51 @@ description "Role applied to all tile servers" default_attributes( :accounts => { :users => { + :pnorman => { :status => :administrator }, :tile => { - :status => :role, - :members => [:jburgess, :tomh] + :members => [:jburgess, :tomh, :pnorman] } } }, :apache => { :mpm => "event", :timeout => 60, + :evasive => { + :enable => false + }, :event => { - :server_limit => 60, - :max_request_workers => 1200, :threads_per_child => 20, :min_spare_threads => 300, - :max_spare_threads => 1200, :max_connections_per_child => 0, - :async_request_worker_factor => 4 - } - }, - :munin => { - :plugins => { - :renderd_processed => { - :graph_order => "reqPrio req reqLow dirty reqBulk dropped", - :reqPrio => { :draw => "AREA" }, - :req => { :draw => "STACK" } - } + :async_request_worker_factor => 4, + :listen_cores_buckets_ratio => 8 } }, :postgresql => { :settings => { :defaults => { :max_connections => "250", - :temp_buffers => "32MB", + :shared_buffers => "16GB", :work_mem => "128MB", + :maintenance_work_mem => "8GB", + :max_parallel_workers_per_gather => "0", + :wal_level => "minimal", :wal_buffers => "1024kB", :wal_writer_delay => "500ms", + :checkpoint_timeout => "60min", :commit_delay => "10000", - :checkpoint_segments => "60", - :max_wal_size => "2880MB", - :random_page_cost => "1.1", + :max_wal_size => "10GB", + :max_wal_senders => "0", + :jit => "off", :track_activity_query_size => "16384", :autovacuum_vacuum_scale_factor => "0.05", :autovacuum_analyze_scale_factor => "0.02" } } }, + :ssl => { + :ct_report_uri => false + }, :sysctl => { :sockets => { :comment => "Increase size of connection queue", @@ -57,44 +56,50 @@ default_attributes( "net.core.somaxconn" => 10000 } }, - :kernel_scheduler_tune => { - :comment => "Tune kernel scheduler preempt", + :network_conntrack_time_wait => { + :comment => "Only track completed connections for 30 seconds", + :parameters => { + "net.netfilter.nf_conntrack_tcp_timeout_time_wait" => "30" + } + }, + :network_conntrack_max => { + :comment => "Increase max number of connections tracked", :parameters => { - "kernel.sched_min_granularity_ns" => 10000000, - "kernel.sched_wakeup_granularity_ns" => 15000000 + "net.netfilter.nf_conntrack_max" => "524288" + } + }, + :no_tcp_slow_start => { + :comment => "Disable TCP slow start", + :parameters => { + "net.ipv4.tcp_slow_start_after_idle" => "0" + } + }, + :tcp_use_bbr => { + :comment => "Use TCP BBR Congestion Control", + :parameters => { + "net.core.default_qdisc" => "fq", + "net.ipv4.tcp_congestion_control" => "bbr" } } }, :tile => { - :data => { - :world_boundaries => { - :url => "https://planet.openstreetmap.org/historical-shapefiles/world_boundaries-spherical.tgz" - }, - :simplified_land_polygons => { - :url => "https://osmdata.openstreetmap.de/download/simplified-land-polygons-complete-3857.zip", - :refresh => true - }, - :admin_boundaries => { - :url => "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_boundary_lines_land.zip", - :directory => "ne_110m_admin_0_boundary_lines_land" - }, - :land_polygons => { - :url => "https://osmdata.openstreetmap.de/download/land-polygons-split-3857.zip", - :refresh => true - }, - :antarctica_icesheet_polygons => { - :url => "https://osmdata.openstreetmap.de/download/antarctica-icesheet-polygons-3857.zip", - :refresh => true - }, - :antarctica_icesheet_outlines => { - :url => "https://osmdata.openstreetmap.de/download/antarctica-icesheet-outlines-3857.zip", - :refresh => true - } + :database => { + :style_file => "/srv/tile.openstreetmap.org/styles/default/openstreetmap-carto.style", + :tag_transform_script => "/srv/tile.openstreetmap.org/styles/default/openstreetmap-carto.lua", + :external_data_script => "/srv/tile.openstreetmap.org/styles/default/scripts/get-external-data.py -c /srv/tile.openstreetmap.org/styles/default/external-data.yml", + :external_data_tables => %w[ + icesheet_outlines + icesheet_polygons + ne_110m_admin_0_boundary_lines_land + simplified_water_polygons + water_polygons + ] }, :styles => { :default => { - :repository => "git://github.com/gravitystorm/openstreetmap-carto.git", - :revision => "v4.20.0", + :repository => "https://github.com/gravitystorm/openstreetmap-carto.git", + :revision => "v5.8.0", + :fonts_script => "/srv/tile.openstreetmap.org/styles/default/scripts/get-fonts.sh", :max_zoom => 19 } }