Acabei de trocar CityDiff para Unicorn no Heroku. O site está usando um único dinamômetro gratuito que originalmente rodava o Thin.
Após a mudança para o Unicorn, estou vendo tempos de resposta mais rápidos para solicitações AJAX e menos uso geral de memória.
Aqui está minha configuração.
Gemfile
gem "unicorn"
Procfile
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
config / unicorn.rb
worker_processes 3
timeout 30
preload_app true
before_fork do |server, worker|
if defined?(ActiveRecord::Base)
ActiveRecord::Base.connection.disconnect!
Rails.logger.info('Disconnected from ActiveRecord')
end
sleep 1
end
after_fork do |server, worker|
if defined?(ActiveRecord::Base)
ActiveRecord::Base.establish_connection
Rails.logger.info('Connected to ActiveRecord')
end
end
Obrigado ao railsonfire pela inspiração. http://blog.railsonfire.com/2012/05/06/Unicorn-on-Heroku.html