«Созданный и размещенный в Интернете веб-сайт эффективно решает поставленные задачи не только в случае наличия качественного контента и удобной навигации, но и тогда, когда он преподносит материалы посетителям и взаимодействует с ними быстро и без сбоев.
«1С-Битрикс: Управление сайтом» позволяет достичь превосходных результатов по быстродействию, строить высокопроизводительные системы для веб-сайтов с очень большой посещаемостью и высокими пиковыми нагрузками».
Для демонстрации возможности платформы 1С-Битрикс работать с большим числом посетителей и масштабироваться под возрастающую нагрузку, мы проводили нагрузочные тесты в 2007, 2010 и 2015 годах, каждый раз используя новые возможности платформы для производительности и отказоустойчивости.
Мы приняли решение провести новое полномасштабное нагрузочное тестирование ecommerce-решения на базе«1С-Битрикс: Enterprise» версии 17, в котором продемонстрировать высокие суточные показатели производительности, и малого времени отклика, с применением веб-кластера из 4х серверов и технологии «Композитный сайт».
Главным условием нового тестирования было максимальное сходство тестового стенда и реального крупного интернет-магазина, а именно:
большая товарная номенклатура со сложным классификатором и множеством товарных атрибутов,
множество регионов присутствия, в каждом из которых свои цены/остатки, акции,
непрерывное обновление данных по каталогу из учетных систем,
сложные сценарии действий покупателей, выполняющих не только переход по страницам магазина, но и поиск/фильтрацию товаров по атрибутам в разных категориях, добавление в корзину и оформление заказов.
Результаты тестирования
Тестовый интернет-магазин на платформе «1С-Битрикс: Enterprise версии 17», развернутый на веб-кластере из 4-х физических серверов и включающий следующие демонстрационные данные:
1,8 млн. позиций в товарном каталоге
10 тыс. категорий
100 регионов
в течение 24-часового тестирования продемонстрировал следующие результаты:
Обрабатывая нагрузку в среднем 718 RPS (запросов в секунду), интернет-магазин сохранял стабильную работу, и продолжал обеспечивать быстрое время отклика даже на сложных пользовательских сценариях.
Нагрузочное тестирование выполнялось совместно с нашими партнерами:
Компания «Ленвендо».
Золотой сертифицированный партнер 1С-Битрикс с 2005 года с компетенцией «Крупные корпоративные внедрения». Основная специализация Ленвендо разработка и поддержки 24/7 крупных и высоконагруженных проектов – лидеров российского ecommerce. За время работы, специалистами Ленвендо накоплен большой опыт проведения нагрузочных тестов для своих клиентов. Специалисты Ленвендо всесторонне участвовали в подготовке методологии тестирования, а также в анализе полученных результатов.
Компания Selectel.
Крупнейший IaaS-провайдер в России, сертифицированный хостинг-партнер 1С-Битрикс. Любезно предоставили нам надежное и производительное оборудование для проведения тестирования.
Условия и сценарии тестирования
Серверная архитектура:
Как и в предыдущем тестировании, оборудование для проведения тестирования, было предоставлено нашим хостинг-партнером, компанией Selectel. Из стандартного списка конфигураций были выбраны 2 типа серверов для обработки и генерации тестовой нагрузки:
Сервер веб-кластера (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 руб. в месяц
В качестве серверной операционной системы мы использовали ОС Linux CentOS 7.1 с пакетом 1С-Битрикс: Виртуальная машина 7.1. Это виртуальный сервер, полностью настроенный, протестированный и адаптированный для оптимальной работы как с продуктами «1С-Битрикс», так и с любыми PHP-приложениями.
Версии серверного ПО: php 7.0.20, apache/2.2.15, nginx 1.12.1, mysql 5.7.18-15-log, memcached 1.5.1, sphinx 2.1.3-1.
Распределение нагрузки на базу данных MySQL и сервера Memcached было выполнено с помощью стандартного модуля Веб-кластер , а для балансировки нагрузки между серверами использовали Nginx. Каждая нода веб-кластера работает со своим сервером Memcache через сокет, а модуль «Веб-кластер» обеспечивает очистку ключей кеша при удалении на всех серверах. Такая схема обеспечивает максимальную производительность:
Также использовалась запатентованная технология «1С-Битрикс: Композитный сайт», позволяющая существенно ускорить скорость загрузки страниц посетителем. Ее эффективность была продемонстрирована в ходе предыдущего тестирования в 2015 году.
Тестовый интернет-магазин:
В качестве тестовых данных мы использовали свободно распространяемый каталог компании Best Buy, включающий около 1,8 млн. товарных позиций, более 10 тысяч категорий. Кроме того, в тестовом стенде мы эмулировали мультирегиональный ecommerce-проект, добавив 100 виртуальных регионов, в которых каждое торговое предложение в каталоге имело свою цену и наличие. Сценарии нагрузки обязательно включали в себя выбор посетителем региона.
Исходные параметры тестового стенда:
Регионов
100 (уникальные цены и остатки товаров)
Товаров и торговых предложений
3 429 102
Цен (b_catalog_product_price)
173 293 881
Число заказов на момент запуска теста
198 595
Размер базы данных MySQL
35 GB
Размер папки upload
59 GB
Сценарии нагрузки:
Специалисты «Ленвендо» проанализировали профили нагрузки некоторых крупных интернет-магазинов из ТОП-20, и на основании проведенных аналитических работ был сформирован сценарий нагрузочного тестирования, эмулирующий работу среднестатистического покупателя, включающий выбор региона, навигацию по каталогу товаров, фасетный и полнотекстовый поиск, работу с корзиной и оформление заказа.
100% - установка региона (70% хитов Москва, 30% случайный регион)
37,8% - 2 случайных детальных страницы
22,6% - 4 случайных детальных страницы
18,5% - 4 случайных страницы раздела, включая постраничную навигацию
10% - 2 случайных раздела, детальная страница
5,6% - два хита по главной странице
5% - цепочка умного фильтра (переход в случайный раздел, установка произвольного фильтра по нескольким свойствам)
0,5% - покупка товара, оформление заказа
Кроме того, для наибольшей реалистичности сценария в течение суток обновлялись цены у примерно 30% товаров каталога и сбрасывался кэш.
Тестирование проводилось системой Yandex.Tank, версии 1.8.x, в качестве генератора нагрузки использовался JMeter 2.13.x
Выводы по результатам
Новое 24-часовое нагрузочное тестирование было завершено успешно. На наш взгляд, мы с партнерами реализовали тестовый стенд и настроили сценарии нагрузки, чтобы максимально точно имитировать условия реального крупного интернет-магазина. И при этих условиях получить отличные результаты!
В ходе теста нами был получен очень высокий показатель количества хитов в секунду – 718 RPS, а суммарное количество обработанных за сутки программных хитов составило более 61 млн. Нельзя не отметить отличный показатель времени генерации страниц: менее 0,4 секунды (для 98% обращений). Это очень хороший результат, приемлемый для большинства современных ecommerce-проектов. Скорость загрузки сайта напрямую влияет на конверсию и индексацию поисковыми роботами. В дополнение к высокой скорости генерации страниц, это обеспечивалось и технологией "Композитный сайт", позволяющей мгновенно подгружать основу веб-страниц и быстро обновлять динамические данные.
Интерес для специалистов может иметь поведение тестового стенда в момент обновления цен, так как в этот момент помимо основной нагрузки, создается нагрузка, создаваемая обновлением цен и остатков и перестройкой кэша. Это крайне важный момент для высоконагруженного проекта.
По графикам можно увидеть, что веб-кластер, построенный на «1С-Битрикс: Enterprise», отлично отрабатывал эти ситуации, лишь на небольшой отрезок времени немного увеличивая время генерации страниц и чуть снижая показатель RPS. При этом время генерации страницы оставалось на приемлемом уровне и не превышало 0,9 секунды.
Результаты тестирования продемонстрировали, что:
Архитектура новой ecommerce-платформы «1С-Битрикс: Enterprise» версии 17 позволяет уверенно работать с большими товарными каталогами, обеспечивать своевременную актуализацию данных из ERP систем и при этом обрабатывать большую пиковую нагрузку, сохраняя низкое время генерации страниц
Возможности масштабирования «1С-Битрикс: Enterprise» позволяет достичь высокой производительности, наращивать серверные мощности для пиковых периодов без модификации кода проекта, обеспечивать высокую надежность и отказоустойчивость
Фасетный и полнотекстовый поиск реализуют быстрый поиск и фильтрацию по товарной номенклатуре
Обновленная технология «Автокомпозитный сайт» обеспечивает мгновенный отклик системы для покупателей, что дает отличный пользовательский опыт, высокую конверсию и скорость индексации сайта поисковыми системами
«Для нас ценно, что в очередной раз для проведения нагрузочного тестирования «1С-Битрикс» выбрал инфраструктуру Selectel. Это свидетельствует о высоком уровне доверия к нашим услугам со стороны одного из крупнейших российских разработчиков веб-систем. Наши компании связывают давние партнерские отношения, мы надеемся на продолжение сотрудничества в дальнейшем».
Александр Вечерский, директор по связям с общественностью Selectel
«Lenvendo давно и успешно разрабатывает проекты для лидеров российского ecommerce на базе «1С-Битрикс». Способность сайта бесперебойно выдерживать пиковые нагрузки — не просто общие слова, а реальная необходимость для наших клиентов, ведь минуты простоя измеряются миллионами рублей упущенной выгоды.
В ходе проведенного нагрузочного тестирования мы постарались использовать весь наш практический опыт для того, чтобы его результаты были максимально приближены к реальности. Стенд, построенный и оптимизированный специалистами «1С-Битрикс», соответствовал архитектуре боевого проекта, профили нагрузки были взяты с реальных интернет-магазинов. В каждом компоненте мы совместно прилагали максимум усилий, чтобы результаты тестирования носили не синтетический, а вполне реальный характер.
Проведенное тестирование убедительно доказало теоретически то, что неоднократно демонстрировалось на практике: при наличии опыта, компетенций и ресурсов, на «1С-Битрикс: Enterprise» можно строить серьёзные проекты, без ограничений по нагрузке».
Виталий Гаврилов, технический директор Lenvendo
«В ходе нагрузочного тестирования мы намеренно моделировали наиболее сложные и ресурсоемкие сценарии, чтобы дать нашим потенциальным клиентам объективные показатели для оценки реализации проекта на ecommerce-платформе «1С-Битрикс: Enterprise».
Тестирование показало отличные результаты по скорости работы платформы при нагрузках, характерных для больших и сложных проектов, с огромным товарным ассортиментом и нагрузочными профилями, включающими как большое количество клиентских действий, так и интеграционных процессов с внутренними системами компании.
Кроме подтверждения готовности решения «1С-Битрикс: Enterprise» к работе в самых амбициозных проектах современной электронной коммерции, мы предоставляем нашим клиентам и партнерам готовую архитектуру проекта и настроек платформы, которую можно брать за основу и применять в реальных проектах».
Артем Рябинков, директор по работе с ключевыми клиентами «1C-Битрикс»
Любой новый или работающий проект на «1С-Битрикс: Управление сайтом» может быть представлен как веб-кластер взаимозаменяемых серверов.
Модуль Веб-кластер - это комбинация технологических решений, которые позволяют распределить один сайт на несколько серверов, решая тем самым несколько задач: обеспечение высокой доступности сайта; его масштабирование в условиях возрастающей нагрузки; балансирование нагрузки, трафика, данных между несколькими серверами.