УПС! Что-то пошло не так



Как e-commerce подготовиться к Черной пятнице. Рекомендации для малого и среднего бизнеса

649

       

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

Сбои сайта = простой, потеря клиентов и доходов. Сегодня мы расскажем, как сделать сайт стабильным, объясним, что делать, если всё упало. И поделимся лайфхаками, которые помогут снизить нагрузку на сервер и провести маркетинговые активности идеально.

Основные причины сбоев сайта 

Во время распродаж сайт должен работать быстро и без сбоев. Для этого желательно понимать, какие вообще проблемы могут нарушить работу вашего сайта.
  1. Нет коммуникации между IT и бизнесом. Сообщайте заранее о днях акции, планируйте работы вместе. Недостаточно просто придумать скидки для товаров. Мало закупить рекламу — нужно еще заранее оповестить об ожидаемой нагрузке на сайт, чтобы в ИТ успели подготовиться  и обеспечили стабильную работу сайта. 
  2. Ошибка специалистов. В рамках ИТ-архитектуры упасть может что угодно: frontend-часть сайта, OMS (система, которая обрабатывает заказы), ERP-система. Учитывая, сколько денег бизнес вкладывает на рекламу, и сколько месяцев потенциальная прибыль может «кормить» владельца бизнеса, такая ошибка может привести к огромным финансовым потерям. 

Так как же подготовить сайт к пиковым нагрузкам? 

Шаг 1. Договориться бизнесу и ИТ-отделу

Первое, что нужно сделать — подготовить план маркетинговой активности, в котором будут указаны акции, сроки, сколько трафика планируется привести на сайт. И с этим планом отправиться в ИТ-отдел, чтобы специалисты могли дать ответ — выдержит сайт или нужно подготовить изменения инфраструктуры.

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

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

Шаг 2. Создать кэширующую страничку

Обычная промостраница с товарами на распродажу способна переварить тонну трафика. И ее создание — один из лайфхаков для e-commerce. Благодаря кэшированию лендинг посылает в 10 раз меньше запросов бекэнд-части, когда пользователь заходит на страницу. Лендинг не замедляет работу основного сайта и сам не падает при высоких нагрузках. Это экономичный способ ускорить веб-трафик и повысить производительность.

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

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

Шаг 3. Провести нагрузочное тестирование

Нагрузочное тестирование (Load Testing, НТ) — это процесс проверки и оценки производительности системы или приложения при заданной нагрузке.

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

Как работает НТ? Специалисты генерируют патроны (HTTP-запросы) таким образом, чтобы приблизиться к поведению +/- настоящего человека и проверить нагрузку. Загружают их в сервис, например Яндекс.Танк, и там проводят тесты (обстрел).

Сколько пользователей выдержит сайт — позволяет узнать Apache JMeter. Его используют в связке с танком как генератор нагрузки. Он позволяет эмулировать пользовательские сессии и другие сценарии.

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

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

Кто занимается нагрузочным тестированием? DevOps, тимлид разработки либо разработчик. Поставьте специалистам задачу для тестов заранее. Либо можете обратиться к нам за временными аутстаф-специалистами, если не хотите перегружать команду или под задачу нужна экспертиза.

Шаг 4. Не забыть о мониторинге в тестах

Даже небольшой интернет-магазин через отслеживание ключевых метрик получит исчерпывающую информацию о производительности и готовности системы.
Желательно наблюдать за использованием всех ресурсов, но вот основной список:
  1. Загрузка процессора, оперативной памяти и дисков.
  2. Количество сетевых соединений, открытых сокетов, файлов, пользовательских процессов, запросов, ответов и соединений с БД и др.
  3. Сетевой трафик.
  4. Скорость ответа БД, кешей и др.
  5. Логи.

Популярные инструменты мониторинга — Nagios, Zabbix, New Relic, Pingdom и Datadog. Выбирайте те, которые соответствуют вашим требованиям и бюджету.

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

Как поддерживать систему во время Черной пятницы

В момент запуска ИТ-специалисты сидят у экранов мониторов, чтобы отслеживать производительность системы в режиме реального времени. Обычно для этого используются Nagios, Zabbix или Datadog. 

Вместе с этим в дни распродаж нужно управлять трафиком для распределения нагрузки и включать подробное логирование — чтобы был доступ к информации о событиях и проблемах в системе. Для управления трафиком можно использовать CDN (Content Delivery Network), а для анализа и мониторинга логов — ELK Stack (Elasticsearch, Logstash, Kibana) или Splunk.

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

Как оперативно поднять систему, если все упало

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

Действия ИТ-отдела в этом случае должны быть направлены на быстрое восстановление работоспособности системы и минимизацию простоя. Что нужно обязательно сделать: 
  1. Проанализировать журналы ошибок, мониторить систему и проверять соединение с серверами, чтобы определить причину сбоя или медленной работы сайта.
  2. Перезапустить серверы, баз данных или других компонентов системы, а также исправление ошибок или восстановление резервных копий.
  3. Увеличить или дополнительно добавить мощности серверов либо использовать облачные услуги, если проблема в недостатке ресурсов.
  4. Проанализировать код и запросы к БД, чтобы оптимизировать производительность. 

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

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

черная пятница часть 1© Freepic

Лайфхаки, которые помогут пережить Черную пятницу

  1. Кэширование запросов, данных, статики (изображения, CSS-файлы и JavaScript-файлы). Это поможет ускорить загрузку страницы сайта и снизить нагрузку на базу данных.
  2. Оптимизация и кэширование фидов. Если ваши фиды содержат большое количество информации, их можно быстро оптимизировать: включать фильтрацию, сжать, закешировать либо оптимизировать структуру, используя компактные форматы данных, например JSON.
  3. Повторное нагрузочное тестирование. Если после первого тестирования все ошибки исправлены, проведите еще тесты для убедительности. Исправление ошибок может состоять из нескольких итераций. К тому же, есть риск ошибки при расчетах, которая всё снова поломает и испортит Черную пятницу для вас и ваших клиентов.
  4. Регулярное резервное копирование данных поможет защититься от потери информации. Используйте инструменты для автоматического резервного копирования, такие как Backblaze или AWS S3. Регулярно проверяйте и проводите “учения” по восстановлению из резервных копий.

Поведем итоги

Никто не знает, насколько в этом году вырастут онлайн-продажи в Черную пятницу. Но можно с уверенностью сказать, что больше всего выиграют онлайн-продавцы, чьи сайты могут работать эффективно. Что важно помнить:
  1. Если заранее не подготовить инфраструктуру, сайт упадет от бурного трафика.
  2. За несколько месяцев сообщайте ИТ-специалистам об акциях, распродажах и прочих активностях.
  3. Лайфхак для бизнеса — создать кэширующую страничку для снижения нагрузки во время распродаж.
  4. Нагрузочное тестирование проводите за пару недель до старта распродажи. Оно поможет найти уязвимости и улучшить показатели. Главное — собрать сильную команду специалистов и закладывать время на тесты заранее.
  5. Разработайте план действий на случай, если сайт все же упадет.

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


С чего начать?

Свяжитесь с нами по номеру

или оставьте свою заявку

Расскажите о своем проекте

Наш специалист свяжется с вами и проконсультирует по интересующему вопросу, подскажет оптимальное решение вашей задачи

Спасибо за обращение. Ваша заявка принята.
File name
Заполняя данную форму, вы принимаете условия Соглашения об использовании сайта, и соглашаетесь с Правилами обработки и использования персональных данных

Мы используем cookies для вашего блага. Продолжая просматривать сайт, вы соглашаетесь с этим.

Хорошо