A Rack application running on Heroku can improve performance by using different application servers with different performance characteristics.
Some good choices include Thin (evented I/O), Unicorn (multi-process) and Puma (multi-threaded).
The exact configuration settings will vary by application and how much memory each app takes. A default Rails app with a basic scaffold can easily support 4 unicorn workers or 4 puma threads. A small Sinatra app can support several times that number.
Here are the
Procfile settings you can use for each:
1 2 3 4 5 6 7 8
Use the New Relic RPM Add-on to monitor your application resources.