Heroku - Spin Up

У меня есть сайт, который я развернул в Heroku. Это низкий трафик, поэтому, если никто не отправится к нему на пару часов, а затем перейдите к нему, загрузка займет около 5-10 секунд. Любые другие запросы на другие страницы на этом сайте быстро загружаются. Если я выйду из сайта полностью и вернусь через несколько минут, он также быстро вернется.

Это только в том случае, если в течение пары часов он простаивает, что время разворота заметно. Есть ли у кого-нибудь еще эта проблема? Если да, то как вы это исправили.

Кроме того, в то время как на тему, происходит ли то же самое с Google App Engine? В настоящее время я просто тестирую эти платформы для размещения приложений, поэтому у меня нет предпочтений технологий/языков.

Ответы

Ответ 1

Самый быстрый способ "исправить" эту проблему - убедиться, что ваш сайт всегда вверх. Настройте учетную запись pingdom (http://www.pingdom.com/), которая будет проверять ваш сайт каждые несколько минут, чтобы сохранить его.

У меня есть специальный маршрут myapp.com/keep_alive, который ничего не делает, кроме попадания стека рельсов без кеширования.

Надеюсь, это поможет!

Ответ 2

Неужели вы принимаете его с помощью "свободного плана", т.е. только с 1 dyno?

Если да, то, что вы испытываете, может быть Dyno Idling. Вы можете увеличить количество динамиков, чтобы ваше приложение было "всегда включено"

Ответ 3

Из того, что я понимаю, Heroku публикует это поведение.

Для бесплатного хостинга сайта один героин "Dyno" выдается на ваш сайт, если динамический режим неактивен в течение определенного периода времени, тогда ресурс будет перенаправлен в другое место, когда вы попытаетесь получить доступ к сайту после этого времени, попросите вернуть Dyno.

Вы можете предотвратить это, заплатив за дополнительный дино, который будет придерживаться вашего сайта, или вы можете регулярно посещать сайт с помощью автоматизированного script.

Ответ 4

Лучшее, что вы можете сделать, чтобы уменьшить это время, - это минимизировать размер вашей пули. Это включает в себя такие шаги, как удаление любых объектов изображения PSD или AI, удаление PDF файлов и минимизация набора драгоценных камней. Для получения дополнительной информации см. http://devcenter.heroku.com/articles/slug-size. В качестве справочной информации мои приложения обычно могут размножаться примерно на одну секунду.

Ответ 5

Если вы не хотите платить за Pingdom, вы можете попробовать альтернативу с открытым исходным кодом: Pinger

https://github.com/austinthecoder/pinger