Назад | Перейти на главную страницу

Как подготовиться к огромному всплеску трафика для запуска веб-сайта, размещенного на Heroku?

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

Но дело в том, что я впервые запускаю что-то, что я закодировал сам. Раньше я основал стартап, но тогда я не занимался программированием. Я научился писать код, чтобы построить это. Я знаю, что типичный образец трафика для больших блогов - это то, что они привлекают к вам множество людей, а на следующий день трафик падает.

Я боюсь такого скачка трафика, так как это мой первый визит и не знаю, чего ожидать. Я не хочу быть одним из тех веб-сайтов, которые закрываются и падают. До сих пор я тестировал его на небольшом количестве людей, и это не вызвало никаких проблем. Мне бы

Технические характеристики следующие:

A. Использование бесплатного хостинга Heroku (1 динамо)

Б. Сервис представляет собой веб-приложение, созданное с помощью Ruby on Rails.

C. Пользовательский интерфейс состоит из:

  1. Главная страница: лента, в которой вы подписаны на людей и теги. Не делал большой оптимизации запросов.
  2. Страница контента: полностью использует внешние API для обслуживания контента. Мой сервер не отправляет никакого контента, за исключением метаданных небольшого размера.

Может кто-нибудь дать совет по этому поводу? Сколько дино мне нужно запустить? Как мне узнать, когда мне нужно расширяться? Чего мне ожидать и как подготовиться? Спасибо!

Самым важным здесь будет просмотр ваших логов (heroku logs -t) и в вашем приложении установлен New Relic, поскольку Heroku не поддерживает автоматическое масштабирование.

В ваших журналах следующая строка будет самой важной

2012-06-01T07:48:40+00:00 heroku[router]: GET yourdomain.com/ dyno=web.1 queue=0 wait=0ms service=162ms status=200 bytes=23441

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

Поскольку ваш запуск может быть более нестабильным со временем, чем телевизионная реклама, вам может потребоваться установить высокий динамический диапазон, чтобы справиться с ситуацией, а не активно следить за ним после запуска. New Relic покажет вам «back log» на вкладке dynos, который совпадает со значением очереди, поэтому вам нужно будет взглянуть на это, если вы оставите сайт в покое на некоторое время, чтобы увидеть, как он работает. Вы также можете использовать Progstr (https://addons.heroku.com/progstr) аддон, который будет следить за вашими журналами и уведомлять вас о критических вещах (например, журналы регистрации, тайм-ауты и т. д.)

Не бойтесь здесь - я размещал на Heroku сайты, которые интенсивно использовались после телерекламы в прайм-тайм, а иногда работали около 50 динамометров и заканчивали счетом всего в несколько долларов, так как это не выдерживается в течение длительного времени.

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

Хостинговые компании, на которые я работал, обычно могут помочь вам в этом. Это вызовет и у них проблемы, если вы сделаете всплеск и не готовы к этому, поскольку они обычно размещают большое количество клиентов на небольшом пуле машин / серверов. Было бы разумно связаться с ними и спросить, какие советы или указатели, которые они могут вам предоставить. Мы могли перемещать людей на разные серверы, увеличивать объем доступной им памяти или даже перемещать их на их СОБСТВЕННЫЙ сервер, если они были готовы платить за эту услугу и за более крупный выделенный сервер. Так что есть большой шанс, что они могут вам помочь. Удачи, надеюсь, это поможет.