Близятся новогодние праздники, для большинства интернет-магазинов это период промоактивностей и разнообразных скидок. В данной статье постараемся разобраться, как не допустить падений интернет-магазина и потери инвестиций в трафик на сайт.
Крупные интернет-магазины начинают масштабные распродажи, интернет-магазины средние и маленькие — аналогично. Иногда случаются неприятности, вроде вот таких, как изображено на скриншоте:
Данная ошибка означает, что сервер не может обработать ваш запрос. Почему она возникает и что делать?
Раньше на страницах нашего блога была (и даже не одна) публикация по поводу анализа сайта и его ускорения, а также очень полезный кейс по улучшению сайта, который не потерял своей актуальности и сейчас. Будем считать, что вы с ними уже ознакомились и вас не пугают такие слова, как:
- Сервер
- Трафик
- Конфигурация сервера
- Инфраструктура
- DDoS
- Системное администрирование
Ведь все они напрямую имеют отношение к теме текущей статьи. Итак, начнём.
Как спрогнозировать нагрузку?
Нагрузка — это количество входящих соединений, а также количество клиентов в единицу времени на ваш сайт. В зависимости от настроек сервера и платформы вашего магазина, критическим порогом для вас может быть как 10 человек, так и 10 000. Для того, чтобы не попасть впросак, нужно знать, сколько у вас будет клиентов в пиковые часы работы сайта, а также как это повлияет на его работоспособность. Для этого нужно сделать следующее:
- Узнать у вашего рекламного агентства или подрядчика, который ведёт рекламные кампании на вашем сайте ориентировочный объём трафика
- Узнать у системного администратора вашего сайта о пороговых значениях, при которых сайт может не работать
- Провести с помощью специалистов нагрузочное тестирование вашего сайта на тестовой среде или на работающем сайте (на работающем сайте это желательно делать ночью)
- Получить результаты тестов, определить слабые и узкие места вашего сайта.
- Провести ряд мероприятий по укреплению слабых мест и расширению узких.
Узкими местами могут быть: низкий отклик от базы данных, ограниченное количество одновременных соединений к базе данных, отсутствие кеширования шаблонов и т.д.
Как сделать нагрузочное тестирование?
Просто. Существуют бесплатные, условно бесплатные и платные решения. Например, мы используем Apache JMeter. Этот инструмент бесплатен и гибок в настройках. Больше информации вам предоставит ваш системный администратор. Если его нет — обратитесь в техподдержку хостинга (но скорость их реакции и сама реакция бывает разной).
У нас ничего не работает. Что делать?
Не паниковать. Чем раньше вы совместно со своей командой определитесь, где существуют узкие места, тем больше у вас будет времени на их устранение. В целом можно выделить четыре основных направления:
- Масштабирование инфраструктуры (например, добавление ещё одного сервера с копией базы данных, к которой будет обращаться ваш сайт)
- Изменение инфраструктуры (например, смена или обновление приложений на сервере с их последующей конфигурацией)
- Рефакторинг кода платформы (например, оптимизация запросов к базе данных)
- Конфигурирование сервера и платформы (например, настройка кеширования файлов)
После внедрения всех или большинства рекомендаций от ваших разработчиков и системных администраторов повторите нагрузочный тест. Если всё укладывается в ожидаемые рамки — можно спать спокойно. Но нагрузку всё же прогнозируйте в два-три раза больше от запланированной 🙂
Хороших вам продаж!