подписка
Подписаться
20/11/2018
Как выжить в "Черную пятницу"?

На носу распродажа "Черная Пятница" – а она означает пиковые нагрузки для сайтов интернет-магазинов. Их не выдерживают даже гиганты. И если вы не хотите, как это случилось во время последнего Prime Day с Amazon, встречать посетителей страницей 404 или сообщениями об ошибках, то лучше подготовиться заранее.

Amazon фейл

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

У IT-инфраструктуры есть своя "точка кипения". Из-за покупательской активности сервисы перестают работать или долго отвечают на запросы пользователей, корзины тормозят, отгрузки встают. Что же делать?

Выявить точку отказа и дать прогноз нагрузки

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

Оценить нагрузку самостоятельно

Чтобы понять максимально допустимую нагрузку, можно организовать тестирование самим, например, используя Яндекс.Танк. Это генератор десятков тысяч HTTP-запросов в секунду. Чтобы запустить нагрузочное тестирование, следуйте официальной документации.

Спрогнозировать нагрузку на магазин в Черную пятницу можно на основе плана продаж в период акции и исторических данных по конверсии.

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

Например, одна рассылка на 10,000 клиентов при конверсии 10% в первый час приводит к открытию 1,000 сессий в час, а 10 рассылок по 1,000 человек с интервалом в 1 час приводят к открытию 100 сессий в час.

Обычно интернет-проект состоит из нескольких модулей, например: база данных, web-сервер, система кэширования. Каждый из них нуждается в различных типах и объемах ресурсов. Поэтому при анализе нагрузки нужно снимать не просто показатели отклика проекта, но и показатели потребления ресурсов с разных модулей: скорость ввода-вывода дисков, процессорное время, память. Уделите внимание и тому, хватает ли вашей выделенной полосы для планируемой нагрузки: возможно, стоит увеличить ширину канала. Постарайтесь определить модули/узлы системы, которые являются "бутылочными горлышками" — это и будут потенциальные точки масштабирования.

Привлечь эксперта для тестирования

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

Прокофьев"Мы оперативно проведем аудит, нагрузочные тесты и дадим оценку инфраструктуре в целом. После аудита вы получите отчет с рекомендациями по подготовке к "Черной пятнице". При необходимости мы проведем работы на сервере: перенесем проект на инфраструктуру Selectel, устраним узкие места, подключим и настроим мониторинг и, конечно, будем круглосуточно поддерживать серверы".

Виталий Прокофьев, руководитель группы системных администраторов Selectel

Selectel рекомендует:
Администрирование сервисов

Адаптировать ресурсы под нагрузку

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

Увеличить мощности самим

  1. Вертикально масштабировать — если уверены в прогнозе нагрузки и нужно простое решение

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

Разберем на примере. Представьте, у вас есть белка. Она, крутясь в колесе, генерирует энергию для лампочки вашего пользователя. Вы ждете еще гостей, поэтому для большего количества света вы заранее покупаете большое колесо, помещаете в него двух белок — и все. Чем больше колесо и больше в нем белок, тем больше отдача беличьего электрогенератора. При увеличении мощности генератора (масштабировании) придется отключить свет на время замены колеса и посадки дополнительных белок. Однако сам способ масштабирования удобен, так как требует минимальных усилий.
белки1

Суть вертикального масштабирования

 

  • Добавить ресурсы в облаке в несколько кликов

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

серверы

Изменение конфигурации виртуальной машины в VPC

  • Увеличить производительность физического сервера

"Усиление сервера" означает переезд на более мощное оборудование.

Ансимов"Серверы готовых конфигураций предоставляются за 1-2 часа, сборка на заказ — в течение пяти рабочих дней. Серверы подключат к локальной сети и интернету, обеспечат бесперебойное электропитание, микроклимат и сервисное обслуживание".

Константин Ансимов, менеджер продуктов Selectel

Selectel рекомендует:
Выделенные серверы

  1. Горизонтально масштабировать — если не уверены в прогнозе нагрузки и готовы к сложной реализации

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

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

белки2

Суть горизонтального масштабирования

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

Для горизонтального масштабирования система должна уметь работать не на одной машине, а на кластере. Если ранее таких требований к вашей системе не было, то самостоятельно в короткие сроки реализовать горизонтальное масштабирование будет сложно — потребуется доработка системы, так как необходима общая синхронизация компонент кластера и балансировщик на всех или отдельных узлах сети. Балансировщик — это комплекс специальных методов для выравнивания нагрузки. Например, в "Облаке на базе VMware" мы реализовали полный функционал VMware NSX, в том числе и Load Balancing — балансировщик нагрузки уровня приложений (L4/L7) с динамической настройкой виртуального IP и групп серверов.

  • В облаке.Когда инфраструктура в облаке (например, в "Виртуальном приватном облаке" или "Облаке на базе VMware"), то создать новые виртуальные машины — вопрос нескольких секунд
  • На железе. "Усиление инфраструктуры" означает дополнительную покупку выделенных серверов.
  • Гибридное решение. Перенеся часть инфраструктуры в облако, вы создаете решение, состоящее из физических и виртуальных серверов. На физических серверах может работать постоянная нагрузка, а в облаке с оплатой по потреблению то, что нужно на время акции. Так вы разгрузите основной сервер, на котором размещены ваши сервисы, и создадите резерв мощности для увеличения нагрузки

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

Мониторинг нагрузки удобно реализовать с помощью инструмента Zabbix, а визуализацию полученных данных — с дашбордом Grafana.

Можно избавиться от ручного мониторинга нагрузки, если добавлять новые серверы и проводить балансировку автоматически. Для этого может потребоваться заранее написать скрипты балансировщика: настроенное ПО для балансировки нагрузки вместе с API облака дает возможность создать автомасштабируемое решение.

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

Суть автомасштабирования

С помощью API облака VPC Selectel можно создавать, удалять и менять конфигурации машин (в режиме beta-тестирования также доступен Kubernetes).

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

3. Привлечь архитекторов IT-инфраструктуры со стороны провайдера

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

Рыжов"Преимущества мультиоблачных решений — в построении архитектуры, оптимальной по возможностям, цене, катастрофоустойчивости, времени отклика (возможность выбрать ближайшие дата-центры к вашим пользователям), а также в отсутствии риска vendor lock-in, то есть зависимости от конкретного провайдера услуг. Сейчас мы, пожалуй, единственные в России реализуем готовые multi-cloud проекты на базе собственных дата-центров, а также решений Amazon Web Services, Microsoft Azure, Google Cloud Platform и Alibaba Cloud".

Дмитрий Рыжов, директор по интеграции Selectel

Selectel рекомендует:
Мультиоблачная среда

Подготовить защиту от DDoS-атак

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

  • В 2017 году организатор распродажи "черная пятница" на площадке b-friday.com подвергся DDoS-атаке на свои серверы. Сайт справился с нагрузкой и не упал

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

Для подключения средств защиты может потребоваться перенести сайт в инфраструктуру оператора, поэтому уточните вопрос за 2-3 недели до старта распродаж.

Ускорить загрузку контента

В период распродаж, когда нагрузка на серверы значительно повышается, на сайтах интернет-магазинов долго загружаются описания товаров и их фотографии. Также загрузку страниц утяжеляют JavaScript-библиотеки, CSS. Не дождавшись быстрой реакции сайта на свой запрос, пользователь просто уйдет, даже если предложение выгоднее, чем у конкурентов. Для проверки скорости загрузки страниц воспользуйтесь сервисом PageSpeed Insights.

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

Ансимов"Благодаря оптимальному маршруту доставки контента CDN не только увеличивает скорость загрузки страниц, но и значительно облегчает нагрузку на основные серверы. Таким образом, вы "убиваете двух зайцев" — повышаете конверсию за счет более высокой скорости загрузки web-страниц и сокращаете затраты на масштабирование основной инфраструктуры".

Константин Ансимов, менеджер продуктов Selectel

Selectel рекомендует:
Сеть доставки контента

Подготовиться к "черной пятнице" с помощью Selectel

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

Прокомментировать
Читайте также
21/11/2018
Какие скидки есть при раннем бронировании стендов на ECOM Expo'19?
Почему стоит заказать место на крупнейшей ecom-выставке России заранее... Подробнее
19/11/2018
Артем А.
PR менеджер, Торговля (Домашняя и офисная техника, мини-компания)
15/11/2018
Raiskid - Новый сервис по продажам товар из Китая оптом 1
Добрый день. Оцените пожалуйста наш сайт http://www.raiskid.com. Мы продаем товары (оптом) из Китая. Отправка производится из России (из Москвы). У нас есть свое приложение для Андройд и Айос. Хотелось бы узнать ваше мнение по поводу нашего сайта. Возможно вы найдете какие то недочеты, или же баги. Спасибо за понимание! Свернуть
Добрый день. Оцените пожалуйста наш сайт http://www.raiskid.com. Мы продаем товары (оптом) из Китая. Отправка производится из России (из Москвы). У нас есть свое приложение для Андройд и Еще...
Форум Открытие бизнеса Сайт и приложение
23/10/2018
"Электронная торговля - 2018": как выжить в эпоху маркетплейсов?
На крупнейшей конференции по ecommerce обсуждали, как успеть за стремительными сдвигами на рынке, протиснуться между маркетплейсами и вырваться в лидеры... Подробнее
26/08/2016
Интернет-магазинам объяснили, как ускорить загрузку мобильных страниц
В Google рассказали, как использовать AMP (Accelerated Mobile Pages) в сфере e-commerce... Подробнее