В Puma, как рассчитать соединения с БД?
Я пытаюсь выяснить, сколько соединений с базой данных будет использовать мое приложение.
Это Rails 5, размещенный на Heroku.
Вот мой конфиг Puma
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
ActiveRecord::Base.establish_connection
end
И первая часть моего конфига БД:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV['RAILS_MAX_THREADS'] || 5 %>
Часть, которая кажется мне странной, это # соединений, а также моя pool
установка в database.yml
все используют RAILS_MAX_THREADS
... но не должен ли он использовать RAILS_MAX_THREADS
умножить на количество работников (WEB_CONCURRENCY
?
1 ответ
Решение
На самом деле я нашел ответ, хорошо объясненный здесь... https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server