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 Procfile
configuraçõ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.