День Ж: Черная пятница вашего сервера
— Планируете распродажу? — предупредите админа!
Народная мудрость
14 февраля, 1 сентября и 8 марта владельцы цветочных магазинов утраивают персонал и закупки. В магазинах для взрослых “ключевых” дат чуть больше, но картина та же.
Есть много интернет-магазинов, которым конкретный день продаж дает треть годового оборота.
Вал продаж и толпа клиентов – это прекрасно. Аплодисменты тем, кто смог снять сливки.
Но сегодня мы обращаемся к тем, кто не смог. Или не сможет.
День Ж
В день Ж у вас перестанет работать сайт. Вы вдруг заметите: поток заказов, писем и звонков вдруг прекратился. В такой день вряд ли вы будете расслабленно смотреть на растущий счет в банке, скорее приметесь “тушить пожары”, “в мыле” обеспечивать работу доставки и колл-центра и всячески ощущать биение жизни.
С нехорошим предчувствием вы откроете свой сайт и увидите такое
или такое...
Конечно, у вас есть “программисты”. Но им будет немного не до вас.
Во-первых, у них тоже “день Ж”, они чинят тот сайт, который упал раньше вашего.
А во-вторых, к вечеру надо успеть заказать цветов, суши и чего-то из того магазина для взрослых, который не упал.
Вы перезапустите сервер. Сайт поднимется и проработает ровно 16 минут. Это привычка, выработанная годами. Привычка падать под нагрузкой.
Впрочем, довольно вас мучить. Вы знаете как это неприятно – считать часы простоя и считать финансовые потери.
Обсудим симптомы и лечение. И главное – расскажем о профилактике.
Симптомы скорого падения
На самом деле нет никаких симптомов. Может просто упасть.
Но если вам повезет, то уже перед планируемым пиком продаж сайт начнет работать со сбоями.
Рост заказов ещё не начался, а поток мелких ошибок на страницах и странных подвисаний очевиден.
То Метрика заругается, то сотрудники обмолвятся – сайт опять не работал.
Может быть, хостер пришлет какой-то угрожающий текст. Но … вы его увидите потом.
В воздухе пахнет бедой.
Как поднимать сайт
Если сервер упал – надо действовать быстро, хотя вряд ли получится устранить источник проблемы. Максимум – локально убрать симптомы.
Цикл проверки выглядит так (идем, пока не находим проблему):
-
Главная и время ее открытия;
-
Конверсионный путь и проблемы на нем;
-
Обработка заказа на бекенде;
-
Работа оператора, отгрузка, уведомления, учет.
Как правило, сайт падает потому что сломалось что-то нужное: перегружен веб-сервер, повисла база данных, нет места на диске или памяти.
Пример: сайт упал в “киберпонедельник”. Смотрим логи сервера. Видим, что сервер упирается в количество запросов, которые может одновременно обработать.
Смотрим настройки сервера, видим что вес страницы в памяти сервера и ресурсы, требуемые на ее генерацию – на пределе.
Понимаем, что просто “добавить процессов” — не вариант.
Ускорить работу сервера “прямо сейчас” тоже не удается.
Как правило, “в момент падения” починить ничего не удается. Максимум – добавить диска или памяти.
Крутить настройки можно, но опасно.
Лучшее решение в ситуации, когда сайт работает 16 минут до падения – поставить автоматику, которая будет перезапускать веб-сервер каждые 15 минут.
Вам кажется, это ужасно криво? На самом деле это очень быстро и очень эффективно.
Простая аллегория: как только у дверей магазина скапливается очередь — продавец падает в обморок. Такое решение на время разгоняет очередь, чтобы продавец смог прийти в чувства и еще хоть немного поработать. Конечно, не все уйдут счастливыми, но это же лучше, чем отвезти товарища в санаторий на недельку?
Как делать, чтобы не падало
Чтобы бегать (хоть марафоны, хоть стометровки) – надо тренироваться. Нужно знать пределы своих сил и готовиться к большим соревнованиям.
Сайт и его веб-сервер куда примитивнее вашего организма. Не стоит надеяться, что они чудесным образом все выдержат.
День Ж может случиться у кого угодно.
Займитесь тренировкой, профилактикой и … меряйте пульс почаще.
Тренировка и профилактика
Тренировка – это нагрузочное тестирование сервера. Подойдут Яндекс.Танк, тестирование средствами Битрикса, проигрывание записанных сценариев реальных покупателей.
Нагрузочное тестирование, как и тренировки, надо повторять. Как правило, через 3-6 месяцев “глубокого пилинга” сайта на Битриксе, он начинает крепко тормозить, потому что обрастает дополнительной логикой, украшениями и тяжелой статикой.
Штатные “ускорялки” Битрикса вроде композита, CDN и кеширования всех видов помогают только в простых случаях.
Нужен тренер. Роль тренера исполняет Битрикс-разработчик высокой квалификации.
Меряем пульс
Даже если на горизонте нет “Дня Ж”, надо быть уверенным, что ваш сайт работает как нужно.
Мы рекомендуем как минимум подключить Метрику с SMS-уведомлениями, недорогие сервисы вроде host-tracker и следить за пациентом.
Но если у вас много продаж, часто падает сайт или на горизонте День Ж – зовите “дежурного врача”.
Дежурный врач
Дежурный врач для вашего сайта – это “Функциональный мониторинг”:
-
система поддержки сайта “24х7”, постоянно и автоматически проверяющая все ключевые сценарии на сайте (регистрация, заказ, оплата, подписка, продление);
-
система внутренних мониторов веб-сервера и автоматический сигнализатор о проблемах;
-
нагрузочное тестирование раз в три месяца;
-
горячий бекап для поднятия сайта “за 60 минут” в случае падения из-за оборудования;
-
резервные мощности для оперативного повышения производительности.
Чудес не бывает. Хочешь мира – готовься к войне.
Оставьте заявку, дежурный врач заглянет к вам.
Статьи по теме
- аренда команды (от 2 человек, не менее 3 месяцев);
- итерации с фиксированной ценой (1-3 месяца длительностью).
- регулярные онлайн-планерки с заказчиком;
- квалифицированных специалистов;
- организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
- полную прозрачность и регулярность отчетов о результатах.
- нагруженный интернет-магазин;
- личный кабинет;
- оптовые продажи — B2B-платформа;
- маркетплейс;
- технический аудит сайта;
- Битрикс24 — корпоративные HR-порталы;
- Битрикс24 — построение CRM-системы;
- Битрикс24 — личные кабинеты сотрудников;
- Битрикс24 — аудит портала;
- 1С — интеграция с другими системами;
- 1С — доработка системы;
- маркетинг — комплексное интернет-продвижение;
- маркетинг — продвижение для B2B.