Веб-студия «Простая Матрица»
Заказать наши услуги можно через биржу Kwork.ru

«1С-Битрикс: Энтерпрайз 17» выдержит нагрузку интернет-магазинов с миллионами товаров

Опубликовано: 19 октября 2017
«1С-Битрикс: Энтерпрайз 17» выдержит нагрузку интернет-магазинов с миллионами товаров

Мы протестировали новые возможности «1С-Битрикс: Энтерпрайз» для производительности и отказоустойчивости. Последняя версия справится по меньшей мере с 1,8 млн товаров, 100 регионами присутствия и постоянным обновлением цен.

Мы использовали серверную операционную систему Linux CentOS 7.1 с «1С-Битрикс: Виртуальная машина 7.1». Этот виртуальный сервер оптимизирован для работы с PHP-приложениями.
Основные серверы выбрали из стандартного списка IaaS-провайдера. Выбрали чуть выше среднего, чтобы показать результат на доступном оборудовании.

Для обработки нагрузки построили веб-кластер из четырёх серверов. Это базовая и недорогая конфигурация, которая подходит и по производительности и по отказоустойчивости.

Каждая нода веб-кластера включает сервер БД, сервер приложений и сервер кэширования. Схема с одним мастером и тремя слейвами СУБД.

Нагрузку на базу данных MySQL и серверы Memcached распределили с помощью стандартного модуля «Веб-кластер», а для балансировки между серверами использовали Nginx.

Для поиска по сайту развернули сервер Sphinx.

Сценарий тестирования

С методологией тестирования нам помогли партнёры из компании «Ленвендо». Их специализация — техническая поддержка высоконагруженных проектов.

Они проанализировали профили нагрузки крупных интернет-магазинов, в том числе нашего клиента «Евросеть», и мы разработали реальный сценарий поведения покупателей:

  • 100 % — выбор региона, где 70 % — Москва, 30 % — случайный регион;
  • 37,8 % — просмотр двух случайных карточек товара;
  • 22,6 % — просмотр четырёх случайных карточек товара;
  • 18,5 % — просмотр четырёх случайных разделов с постраничной навигацией;
  • 10 % — просмотр двух случайных разделов с переходом к карточке товара;
  • 5,6 % — два обращения к главной странице;
  • 5 % — переход в случайный раздел и фильтрация товаров;
  • 0,5 % — добавление в корзину и оформление заказа.

Для ещё большей реалистичности каждые полчаса обновляли 1 млн цен и остатков и сбрасывали кэш каталога. За сутки обновили цены 30% товаров.

Обновление цен приводило к трафику 25 Мбит/с, благодаря чему мы воссоздали периодическое устаревание кэша и нагрузку из-за синхронизации с внешними системами.

Кроме того, мы использовали технологию кэширования «Композитный сайт» для ускорения загрузки страниц. В результате на каждое обращение пользователя к странице выполнялись два хита. Первый хит получал из композитного кэша сохранённые данные, а второй обращался к PHP за обновлением динамических областей, которые не подлежат кэшированию.

Результат тестирования

«1С-Битрикс: Энтерпрайз 17» справлялся с 718 обращениями в секунду, и в 98% случаев на генерацию страниц уходило не более 0,4 секунды.

В сравнении с 2015 годом обработали на 30% больше обращений.

Трафик ровный, на уровне 400 Мбит/с, с периодическими пиками из-за обновления цен и синхронизации обновлений между серверами.

Источник: Компания «1С-Битрикс»

Комментарии (0)

Напишите нам!

CAPTCHA
Битрикс24 CRM