«Чтобы не упал»: чек-лист для проверки сайта интернет-магазина перед распродажей

Грядет сезон распродаж: «Всемирный день шопинга», «Черная пятница» и новогодние праздники. Для тех, кто не успел подготовить сайт к наплыву пользователей, предлагаем список экстренных мер, которые поддержат работоспособность интернет-магазина в период высоких нагрузок.

«Чтобы не упал»: чек-лист для проверки сайта интернет-магазина перед распродажей

В этом материале технический директор компании «Моризо Диджитал» (входит в группу компаний «E-Promo Group») — Андрей Свинцов — предлагает компаниям чек-лист для проверки надежности сайта перед распродажей.

Интро

Интернет-магазины тратят немалые ресурсы на подготовку к распродаже: просчитывают скидки, разрабатывают маркетинговые акции, запускают рекламные кампании. Эти действия могут оказаться бессмысленными, если распродажа не состоится по техническим причинам, например, из-за неработающего сайта.

Чем дольше сайт находится в эксплуатации, тем выше риск его «падения». Со временем добавляются новые функции, новые интеграции, меняется структура и логика работы отдельных сервисов — в инфраструктуре сайта неизбежно появляются узкие места, незаметные в обычном режиме функционирования. Но при высоких нагрузках именно они могут стать причиной серьезных сбоев.

Как обезопасить свой сайт?

Итак, до того, как на ваш сайт хлынет большой поток пользователей, привлеченных активной рекламной кампаний и скидками, рекомендуем пройтись по тем точкам сайта, из-за которых нарушается его работоспособность при больших нагрузках:

1. Разделяйте входящие потоки пользователей.

Используйте порционные рассылки по клиентской базе, информируйте об акциях не всю аудиторию сразу, а отдельные сегменты, с тем, чтобы разделить во времени потоки трафика на сайт. Это поможет снизить нагрузку даже в период больших распродаж.

2. Сократите лишние вычислительные процессы в системе.

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

Разгрузите систему: на время распродажи храните цены в виде отдельных сущностей в базе данных, не заставляйте сайт пересчитывать их «на лету».

3. Отключите дополнительные тяжелые процессы на сервере.

Неприоритетные задачи, которые съедают большое количество ресурсов, на период распродажи можно остановить.

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

4. Предусмотрите возможность отключения интеграций с внешними сервисами.

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

Это касается, например, работы рекомендательных систем — сложных алгоритмов, которые работают с большими объемами данных и требуют внушительных ресурсов.

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

Бывает так, что сам внешний сервис подвисает из-за высокой нагрузки. Например, в периоды распродаж мы сталкивались со сбоями в работе логистических сервисов — система приема заказов в логистической компании не справлялась с большим потоком входящих заявок и подвисала. Заявки копились на сайте нашего клиента и тормозили его работу. Чтобы избежать такой ситуации, рекомендуем настроить механизм переключения на режим ручной обработки заказов. Менеджер магазина сможет самостоятельно принимать заказы и порциями отправлять их коллегам из логистической компании.

5. Замените тяжелые динамические страницы статическими заглушками.

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

Обычно в период распродажи пользователям не требуется дополнительная информация на сайте — они сконцентрированы на том, чтобы быстро купить товар, отложенный ранее в корзину или список избранного. Вряд ли они заметят разницу между полноценной страницей и временным решением.

6. Сократите нагрузку на сетевой канал.

Во многих сегментах критично важны качественные, подробные изображения товаров — в fashion, beauty-сегменте, ювелирном сегменте. Большое количество «тяжелых» файлов просто забивает интернет-канал.

При этом никакой особой нагрузки на сам сайте нет: представьте, что перед обычным магазином столпились те, кто пришел на распродажу, но «счастливчики», пришедшие первыми, просто застряли в дверях — магазин пуст, никто ничего не покупает, все толпятся на улице и не могут попасть внутрь. Примерно то же происходит с вашим сайтом — толпы людей кинулись открывать карточки товаров с тяжелыми картинками, но пропускной способности интернет-канала недостаточно, чтобы все могли их скачать и открыть нужные страницы.

Чтобы избежать такого «столпотворения», перед большими нагрузками подключаете CDN-сервис (Content Delivery Network), который «забирает» с сайта весь тяжелый контент и передает его посетителю через себя, через свои каналы.

Постфактум

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

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

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

Надеемся, что соблюдая такой чек-лист, вы сможете лучше подготовить свой сайт к наплыву посетителей.

Обложка: rawpixel.com

99
8 комментариев

А сервачок помощнее, балансировщики эти разные и прочие CDN - не судьба заюзать?

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

Горизонтальное масштабирование? Не, не слышал

не все платформы легко горизонтально масштабируются, если вы понимаете о чем я

Извините, но статья говно

ну кому как. надеюсь, что несмотря ни на что статья будет полезна