I'm building an app or expecting high traffic, and I'd like to know how many dynos of which type I should use. I'm also interested in which Postgres or Redis plan I should have to handle the higher load.
It's very difficult to give estimates for these types of things as each app, and even endpoints, vary drastically from one another and over time. It's best to do some realistic load testing using an add-on like Loader.io. There is documentation here related to application load testing which you can take a look as well. These can help you to determine the correct dyno formation and Heroku Postgres plan for the amount of user activity you anticipate on your app. That will tell you exactly what the cost will be to scale to accommodate your expected number of users based on actual performance of your app.
To get detailed information about how the app is performing we also recommend the use of a dedicated application performance monitoring addon, such as New Relic, to gain additional insight into where the app is performing slowly. For example if your database performance was an issue you would see it displayed in the breakdowns in the "Transactions" tab.
For additional data on Postgres performance specifically you can install the
pg-extras CLI plugin
heroku plugins:install heroku-pg-extras
This gives you access to additional CLI commands like
heroku pg:diagnose and
heroku pg:outliers which can pinpoint performance issues.
To help understand what different dyno formations might cost, we provide a simulator on our pricing page which can be used to simulate monthly costs with different dyno formations, database add-on packages, and even premium support plans.