Melhor desempenho com Unicorn no Heroku

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

Tagged