From: Sarah Hoffmann Date: Sun, 30 Jul 2023 12:36:11 +0000 (+0200) Subject: nominatim: make pool size and workers configurable X-Git-Url: https://git.openstreetmap.org./chef.git/commitdiff_plain/241fcb72fc59ac141ed78e05f56b6b3f291da88e nominatim: make pool size and workers configurable --- diff --git a/cookbooks/nominatim/attributes/default.rb b/cookbooks/nominatim/attributes/default.rb index 6330ac690..def731605 100644 --- a/cookbooks/nominatim/attributes/default.rb +++ b/cookbooks/nominatim/attributes/default.rb @@ -15,6 +15,8 @@ default[:nominatim][:ui_revision] = "master" default[:nominatim][:qa_repository] = "https://github.com/osm-search/Nominatim-Data-Analyser" default[:nominatim][:qa_revision] = "main" default[:nominatim][:api_flavour] = "php" +default[:nominatim][:api_workers] = 10 +default[:nominatim][:api_pool_size] = 20 default[:nominatim][:fpm_pools] = { "nominatim.openstreetmap.org" => { diff --git a/cookbooks/nominatim/recipes/default.rb b/cookbooks/nominatim/recipes/default.rb index 67fce4feb..562de9a09 100644 --- a/cookbooks/nominatim/recipes/default.rb +++ b/cookbooks/nominatim/recipes/default.rb @@ -258,7 +258,8 @@ template "#{project_directory}/.env" do :flatnode_file => node[:nominatim][:flatnode_file], :log_file => "#{node[:nominatim][:logdir]}/query.log", :tokenizer => node[:nominatim][:config][:tokenizer], - :forward_dependencies => node[:nominatim][:config][:forward_dependencies] + :forward_dependencies => node[:nominatim][:config][:forward_dependencies], + :pool_size => node[:nominatim][:api_pool_size] end remote_file "#{project_directory}/wikimedia-importance.sql.gz" do @@ -311,7 +312,7 @@ elsif node[:nominatim][:api_flavour] == "python" working_directory project_directory standard_output "append:#{node[:nominatim][:logdir]}/gunicorn.log" standard_error "inherit" - exec_start "/usr/bin/gunicorn -b unix:/run/gunicorn-nominatim.openstreetmap.org.sock -w 10 -k uvicorn.workers.UvicornWorker nominatim.server.starlette.server:run_wsgi" + exec_start "/usr/bin/gunicorn -b unix:/run/gunicorn-nominatim.openstreetmap.org.sock -w #{node[:nominatim][:api_workers]} -k uvicorn.workers.UvicornWorker nominatim.server.starlette.server:run_wsgi" exec_reload "/bin/kill -s HUP $MAINPID" environment :PYTHONPATH => "/usr/local/lib/nominatim/lib-python/" kill_mode "mixed" diff --git a/cookbooks/nominatim/templates/default/nominatim.env.erb b/cookbooks/nominatim/templates/default/nominatim.env.erb index 929f6a0aa..472aa4949 100644 --- a/cookbooks/nominatim/templates/default/nominatim.env.erb +++ b/cookbooks/nominatim/templates/default/nominatim.env.erb @@ -8,6 +8,7 @@ NOMINATIM_FLATNODE_FILE="<%= @flatnode_file %>" <% end -%> NOMINATIM_SERVE_LEGACY_URLS=yes +NOMINATIM_API_POOL_SIZE=<%= @pool_size %> NOMINATIM_IMPORT_STYLE=extratags