Я запускаю приложение rails на Heroku.
У меня есть один дино. Я использую базу данных Hobby Basic за 9 долларов в месяц с ограничением на 20 подключений.
Мое приложение работает на Unicorn. Но это все еще очень медленно, когда выполняется несколько вызовов базы данных.
Вот что у меня есть в моем файле unicorn.rb:
# config/unicorn.rb
worker_processes 3
timeout 30
preload_app true
before_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
Process.kill 'QUIT', Process.pid
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.connection.disconnect!
end
after_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to sent QUIT'
end
defined?(ActiveRecord::Base) and
ActiveRecord::Base.establish_connection
end
В этой статье рассказывается об управлении одновременными подключениями: https://devcenter.heroku.com/articles/concurrency-and-database-connections
Но я все еще в замешательстве. Как с моей текущей настройкой разрешить одновременное подключение к нескольким базам данных? И при максимальном количестве подключений, которые позволяет моя база данных (20)? Я был бы очень признателен, если бы кто-то, кто имел дело с масштабированием приложения rails на Heroku, мог указать мне правильное направление.