Comments:"Damian Sowers - Heroku shouldn't be sandbagging paying customers who have low-traffic apps"
URL:http://blog.3solarmasses.com/post/41164909691/heroku-shouldnt-be-sandbagging-paying-customers-who
Heroku unloads a site from memory when it doesn’t get a hit for a while. This is all well and good for free users, but should they really be doing this to customers who are paying good money for their services?
I recently launched Mycelial and traffic hasn’t been so great after the first couple of launch days. I’m paying decent money to Heroku because I’m employing things like resque, redis-to-go, memcachier, and a dedicated crane database (I was optimistically making the site scalable). Total monthly costs for all of these services: $108.
No customer who is paying such fees should be mistreated with 10 second lag times while the site is reloaded into memory again.
I’ve even employed every form of trickery to avoid this: I setup a ping from pingdom, a monitor from new relic, and a scheduled cron job from Heroku Scheduler. I still, however, experience these horrendous lags. I’ve come to the conclusion that Heroku must be using adaptive processes to sandbag us. For example, to save on their resources, they must be creating static caches of the pages which are being requested from these cron pings. They could avoid loading my whole app back into memory with a trick like this. Please correct me if I’m wrong, but I see no other way for these pings to be successful and my app to still have bad initial load times when it is not visited for a while.
I’d really like to hear from Heroku about this. In the meantime I am considering moving my whole setup to Linode.