When pushing new code to heroku, it shuts down and reboots your dynos. The problem with this is that it can take a few seconds for them to come back online. This makes your application really slow for anyone currently using it.
The way to fix this is to use pre boot.
This Heroku Labs feature provides seamless deploys by booting web dynos with new code before killing existing web dynos.
A couple things to be aware of:
- You need more than 1 dyno running to use this.
- Beware if you need to run migrations. You'll be running 2 versions of your code for a brief period of time.