В 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

Другие вопросы по тегам