Melhor concorrência para Heroku Dynos

Um aplicativo Rack em execução no heroku pode melhorar o desempenho usando diferentes servidores de aplicativos com diferentes características de desempenho.

Algumas boas opções incluem Thin (E / S com eventos), Unicorn (multi-processo) e Puma (multi-thread).

As configurações exatas variam de acordo com o aplicativo e a quantidade de memória que cada aplicativo ocupa. Um aplicativo Rails padrão com uma estrutura básica pode facilmente suportar 4 trabalhadores unicórnios ou 4 threads de puma. Um pequeno aplicativo Sinatra pode suportar várias vezes esse número.

Aqui estão as Procfileconfigurações que você pode usar para cada um:

# thin
web
: bundle exec thin -p $PORT -e $RACK_ENV start

# puma
web
: bundle exec puma -t 1:4 -b tcp://0.0.0.0:$PORT

# unicorn
web
: bundle exec unicorn -p $PORT -c ./config/unicorn.rb

Use o complemento RPM da New Relic para monitorar os recursos do aplicativo.