Все опять «легло»: как убрать риски при работе сайта в период распродажи

2022-10-21 16:59:12 Время чтения 7 мин 368

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Во многих сегментах критично важны качественные, подробные изображения товаров — в fashion, beauty-сегменте, ювелирном сегменте.  Большое количество «тяжелых» файлов просто забивает интернет-канал. При этом никакой особой нагрузки на сам сайте нет: представьте, что перед обычным магазином столпились те, кто пришел на распродажу, но «счастливчики», пришедшие первыми, просто застряли в дверях — магазин пуст, никто ничего не покупает, все толпятся на улице и не могут попасть внутрь. Примерно то же происходит с вашим сайтом — толпы людей кинулись открывать карточки товаров с тяжелыми картинками, но пропускной способности интернет-канала недостаточно, чтобы все могли их скачать и открыть нужные страницы. Чтобы избежать такого «столпотворения», перед большими нагрузками подключаете CDN-сервис (Content Delivery Network), который «забирает» с сайта весь тяжелый контент и передает его посетителю через себя, через свои каналы.


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

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

Обложка: rawpixel.com