«1С-Битрикс: Энтерпрайз 17» выдержит нагрузку интернет-магазинов с миллионами товаров
Мы уже тестировали «1С-Битрикс: Управление сайтом» в 2007, 2010 и 2015.
2
Условия тестирования
Новое тестирование мы приблизили к условиям крупного интернет-магазина:- с большим каталогом и сложным классификатором;
- множеством регионов присутствия, разными ценами, остатками и акциями;
- непрерывным обновлением базы товаров из ERP-систем;
- сложным поведением покупателей.
Серверная архитектура
Мы использовали серверную операционную систему Linux CentOS 7.1 с «1С-Битрикс: Виртуальная машина 7.1». Этот виртуальный сервер оптимизирован для работы с PHP-приложениями.Основные серверы выбрали из стандартного списка IaaS-провайдера «Селектел». Выбрали чуть выше среднего, чтобы показать результат на доступном оборудовании.
|
Сервер веб-кластера (4шт): |
||
Процессор Оперативная память Жесткий диск Стоимость |
2 х Intel Xeon E5-2630v4 2.2 ГГц 64 ГБ DDR4 2 х 480 ГБ SSD, 2 x 4 ТБ SATA 18000 руб. в месяц |
||
Сервер для генерации нагрузки (1 шт): |
|||
Процессор Оперативная память Жесткий диск Стоимость аренды |
Intel Xeon E3-1230 3.4 ГГц 32 ГБ DDR4 2 x 240 ГБ SSD 6500 руб. в месяц |
Для обработки нагрузки построили веб-кластер из четырёх серверов. Это базовая и недорогая конфигурация, которая подходит и по производительности и по отказоустойчивости.
Каждая нода веб-кластера включает сервер БД, сервер приложений и сервер кэширования. Схема с одним мастером и тремя слейвами СУБД
Нагрузку на базу данных MySQL и серверы Memcached распределили с помощью стандартного модуля «Веб-кластер», а для балансировки между серверами использовали Nginx.
Для поиска по сайту развернули сервер Sphinx.
Исходные данные
Данные позаимствовали из демокаталога компании Best Buy. Он включает 1,8 млн товаров и 10 тысяч категорий.
Чтобы эмулировать мультирегиональный интернет-магазин, добавили 100 виртуальных регионов со своими ценами и остатками товаров. Дополнительно сгенерировали базу тестовых заказов.
Регионов | 100 (уникальные цены и остатки товаров) |
Товаров и торговых предложений | 3 429 102 |
Цен (b_catalog_product_price) | 173 293 881 |
Число заказов на момент запуска теста | 198 595 |
Размер базы данных MySQL | 35 GB |
Размер папки upload | 59 GB |
Сценарий тестирования
С методологией тестирования нам помогли партнёры из компании «Ленвендо». Их специализация — техническая поддержка высоконагруженных проектов.
Они проанализировали профили нагрузки крупных интернет-магазинов, в том числе нашего клиента «Евросеть», и мы разработали реальный сценарий поведения покупателей:
- 100 % — выбор региона, где 70 % — Москва, 30 % — случайный регион;
- 37,8 % — просмотр двух случайных карточек товара;
- 22,6 % — просмотр четырёх случайных карточек товара;
- 18,5 % — просмотр четырёх случайных разделов с постраничной навигацией;
- 10 % — просмотр двух случайных разделов с переходом к карточке товара;
- 5,6 % — два обращения к главной странице;
- 5 % — переход в случайный раздел и фильтрация товаров;
- 0,5 % — добавление в корзину и оформление заказа.
Обновление цен приводило к трафику 25 Мбит/с, благодаря чему мы воссоздали периодическое устаревание кэша и нагрузку из-за синхронизации с внешними системами.
Кроме того, мы использовали технологию кэширования «Композитный сайт» для ускорения загрузки страниц. В результате на каждое обращение пользователя к странице выполнялись два хита. Первый хит получал из композитного кэша сохранённые данные, а второй обращался к PHP за обновлением динамических областей, которые не подлежат кэшированию.
Результат тестирования
За сутки тестовый интернет-магазин обработал:
61 609 663 обращений,
9 400 608 уникальных пользователей,
46 471 заказов.
«1С-Битрикс: Энтерпрайз 17» справлялся с 718 обращениями в секунду, и в 98% случаев на генерацию страниц уходило не более 0,4 секунды.
В сравнении с 2015 годом обработали на 30% больше обращений.
Вот как выглядел трафик:
Трафик ровный, на уровне 400 Мбит/с, с периодическими пиками из-за обновления цен и синхронизации обновлений между серверами
Так на обновление цен реагировал веб-кластер:При обновлении цен ненадолго снижался RPS, но генерация страниц не занимала больше 0,9 секунды
Для технических специалистов мы собрали архив со всеми материалами по тестированию. Чтобы его получить, напишите нам по почте
Для остальных пользователей записали наглядное видео о работе веб-кластера под нагрузкой. Сняли обращение к главной странице, переходы по разделам и поиск товаров.
Выводы
Результат тестирования показал:- «1С-Битрикс: Энтерпрайз 17» справится с большими каталогами, постоянным обновлением товаров и быстрым поиском и фильтрацией.
- Поможет без модификации кода нарастить серверные мощности в пиковые периоды и достичь высокой производительности и отказоустойчивости.
- Технология «Композитный сайт» повысит конверсию благодаря мгновенному отклику страницы для покупателей.
Отзывы участников:
« — Мы ценим, что для нагрузочного тестирования «1С-Битрикс» в очередной раз выбрала серверы «Селектел». Это говорит о доверии со стороны крупнейшего российского разработчика систем управления. Нас связывают давние партнёрские отношения, и мы надеемся на продолжение сотрудничества».
Александр Вечерский, директор по связям с общественностью Selectel
« — Мы разрабатываем проекты для лидеров российского e-commerce на «1С-Битрикс». Минуты простоя наших клиентов измеряются миллионами рублей упущенной выгоды. Поэтому работа сайта без перебоев даже под пиковыми нагрузками — для них не общие слова, а необходимость.
Мы максимально приблизили условия нагрузочного тестирования к реальным. Веб-кластер соответствовал архитектуре боевого проекта, профили нагрузки были взяты с реальных интернет-магазинов. Мы вместе работали над каждым компонентом, чтобы результат носил реальный, а не синтетический характер.
Тестирование доказало то, что не раз доказывала практика: с навыками и ресурсами на «1С-Битрикс» можно сделать проект без ограничений по нагрузке».
Виталий Гаврилов, технический директор Lenvendo
« — Мы намеренно смоделировали сложный сценарий, чтобы получить объективные показатели для оценки «1С-Битрикс: Энтерпрайз 17». Тестирование показало отличный результат по скорости работы при нагрузке, которая характерна для проектов с широким ассортиментом товаров и большим количеством действий покупателей.
Кроме подтверждения возможностей «1С-Битрикс: Энтерпрайз 17» мы предоставляем нашим клиентам готовую архитектуру, которую можно применять в реальных проектах».
Артем Рябинков, директор по работе с ключевыми клиентами «1C-Битрикс»
MPO.KZ