42  /  97

Пример нагрузочного тестирования

Просмотров: 24224
Дата последнего изменения: 23.09.2021
Сложность урока:
4 уровень - сложно, требуется сосредоточиться, внимание деталям и точному следованию инструкции.
1
2
3
4
5

В качестве примера нагрузочного тестирования опишем, как тестируется коробка "Битрикс24".

  Описание и цели

Коробочная версия Битрикс24 уже проходила нагрузочное тестирование в 2015 году, и на тот момент были получены очень неплохие результаты. Тестирование продемонстрировало, что продукт, развернутый в компании из 15 тысяч сотрудников, работает стабильно и быстро.

За прошедшее время продукт сильно изменился, получил новые возможности и сценарии. Росло и количество крупных клиентов, появилось много заказчиков из ТОП-100 Forbes/РБК. В последнее время продуктом стали интересоваться действительно очень крупные клиенты с десятками тысяч сотрудников. Только за последние пару лет Битрикс24 был запущен в НЛМК, DNS, СУЭК, Полюс Золото, Почте России, ФК Открытие и многих других.

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

Стало понятно, что кроме опыта аналогичных внедрений нужны новые подтверждения, что "Битрикс24" может справиться с такими нагрузками. Поэтому был запущен проект нового нагрузочного тестирования.

Партнером по проекту тестирования стала компания Selectel, традиционно предоставляющая оборудование для тестов. Также в работе над тестированием вендору помогали коллеги из QSOFT.

Нажмите на рисунок, чтобы увеличить

Цели тестирования

  • смоделировать работу интранет-портала большой корпорации (100 тысяч сотрудников, большое количество демонстрационных данных);
  • обеспечить методику тестирования, максимально близкую к поведению пользователей в реальной жизни;
  • продемонстрировать стабильную работу портала без наличия ошибок в случае одновременной работы с порталом трети от всех сотрудников корпорации (не менее 30 тыс.) на доступном оборудовании;
  • подтвердить эффективность технологии Веб-кластер в продукте 1С-Битрикс24: Enterprise;
  • обеспечить уверенную одновременную работу примерно 1/3 из общего числа сотрудников и среднее время отклика портала в районе 1 секунды (для 95% запросов).

  Параметры тестирования

Выделенное оборудование

Оборудование включало в себя физические серверы двух конфигураций:

Сервер Процессор Оперативная память Жёсткий диск
Базы данных Intel Xeon W-2255 3.7 ГГц (10 ядер) 128 ГБ DDR4 2 × 960 ГБ NVMe +2 × 8000 ГБ HDD
Приложений Intel Xeon E-2236 / 3.4 ГГц, 6 ядер 32 ГБ DDR4 2 x 480 ГБ SSD

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

Нажмите на рисунок, чтобы увеличить

Программное обеспечение

Программное обеспечение серверов было сконфигурировано с помощью продукта "1С-Битрикс: Виртуальная машина". Кластерное решение реализовано на основе технологии Веб-кластер.

Параметры тестового интранет-портала:

  1. Типовое коробочное решение 1С-Битрикс24: Enterprise, версия 20.x.x с последними обновлениями, задействован модуль «Веб-кластер» для построения кластерного решения
  2. Демонстрационный контент на момент старта финального теста: 590 тыс. сообщений в живой ленте, 540 тыс. комментариев, 40 тыс. новостей, 180 тыс. задач, 415 тыс. мгновенных сообщений
  3. Количество сотрудников в базе данных портала на момент старта финального теста: 111 304 (распределены по 67 структурным подразделениям)

Указанное количество пользователей за 1 час генерируют на тестовом портале:

  • 39 новостей
  • 4 614 сообщений в ленте Новостей
  • 4 685 комментариев
  • 440 чатов
  • 3 386 мгновенных сообщений
  • 2 297 заданий бизнес-процессов
  • 912 задач
  • 367 документов
  • 92 рабочие группы и проекта
  • 291 встречу в календарях
  • 2 385 уведомления

За сутки (24 часа) на таком портале генерируются:

  • 936 новостей
  • 110 736 сообщений в ленте Новостей
  • 112 440 комментариев
  • 10 560 чатов
  • 81 264 мгновенных сообщения
  • 55 128 заданий бизнес-процессов
  • 21 888 задач
  • 8 808 документов
  • 2 208 рабочих групп и проектов
  • 6 984 встречи в календарях
  • 57 240 уведомлений

  Методика генерации нагрузки

Нагрузка создавалась инструментом JMeter версии 5.3.3. Данные теста записывались в InfluxDB Высокопроизводительная БД, предназначенная для обработки высокой нагрузки записи и запросов.

Подробнее...
. Для визуализации аналитики использовали приложение Grafana. Мониторинг серверов осуществлялся при помощи системы мониторинга Zabbix.

Для тестирования было выбрано 29 сценариев из 13 блоков, свойственных для типового интранет-портала:

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

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

Нажмите на рисунок, чтобы увеличить

Была применена новая методика генерации нагрузки от пользователей. Вместо одного виртуального пользователя, перебирающего в случайном порядке типовые цепочки действий, нагрузка генерировалась большим количеством разных пользователей со своей учетной записью на портале. Генератор нагрузки авторизовывал каждого такого пользователя в системе, а затем выполнял под этим пользователем разнообразный набор сценариев. При этом между выполнением каждого нового сценария выполнялось ожидание (от 20 сек до 10 минут). Таким образом, эмулировалось максимально реальное поведение сотрудников предприятия, которые зашли в интранет-портал и работают с ним в течение дня.

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

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

Демонстрационный портал, развернутый в кластерном решении из 5 серверов, обеспечил одновременную работу 30 тысяч пользователей, а это соответствует примерному профилю нагрузки для крупной корпорации, в которой работает 100 – 200 тысяч сотрудников.

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

Ссылка на запрос подробного отчета.



4
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии