В ноябре 2022 года мы провели нагрузочное тестирование коробочной версии «Битрикс24» в редакции «Энтерпрайз», чтобы оценить производительность CRM-решения, построенного на его основе.
В ходе нагрузочного тестирования проверяли CRM, развернутую в кластерном решении и заполненную большим объемом тестовых данных. Нагрузка имитировала действия реальных пользователей. Тестирование включало типовые сценарии работы в CRM: авторизацию, работу с базой клиентов, обработку лидов, обновление статусов сделок, обмен сообщениями и загрузку документов.
Исходя из потребностей крупных корпоративных заказчиков мы определили ключевые цели тестирования:
- Смоделировать работу CRM в условиях крупной компании с десятками тысяч сотрудников, тысячами пользователей CRM, большим объемом данных и высокой интенсивностью информационных потоков.
- Продемонстрировать стабильную работу CRM без ошибок при одновременной работе нескольких тысяч сотрудников.
- Подтвердить эффективность встроенных технологий масштабирования и отказоустойчивости «Битрикс24» на доступном оборудовании.
- Обеспечить низкое время отклика решения не более одной секунды.
Тестовый стенд
Оборудование. Для тестирования выбрали виртуальные выделенные серверы. Это позволило создать полноценное кластерное решение и одновременно сократить затраты на развертывание и поддержку инфраструктуры. Оборудование среднего ценового сегмента, доступное на рынке, использовали по аналогии с предыдущими тестами.
Использованы серверы трех конфигураций:
- Два сервера баз данных: Intel Xeon (Skylake, IBRS): 2294 MHz (10 ядер), RAM 48 Гб, HDD 300 Гб.
- Два сервера приложений: Intel Core (Haswell, noTSX, IBRS): 1995 MHz (6 ядер), RAM 24 Гб, HDD 200 Гб.
- Генератор нагрузки: Intel Xeon (Skylake, IBRS): 2294 MHz (10 ядер), RAM 24 Гб, HDD 300 Гб.
Веб-окружение и кластерное решение. Серверы настроили и объединили в кластер, включающий два сервера баз данных и два сервера приложений. Эта типовая и широко используемая конфигурация обеспечивает высокую производительность и отказоустойчивость кластера.
Программное обеспечение серверов настроили с помощью «1С-Битрикс: Виртуальная машина» для Linux версии 7.5.2. Кластерное решение реализовали с использованием технологии «Веб-кластер», которая входит в редакцию Enterprise «Битрикс24».
Условные обозначения в схеме | |
---|---|
pfweb1, pfweb2 | Кластер из двух серверов приложений (веб-серверов): CentOS 7.9, Nginx 1.20.2, Apache 2.4.6, PHP 8.0.19. Балансировка выполняется с помощью Nginx на pfweb1 |
pfdb1, pfdb2 | Кластер из двух серверов баз данных: CentOS 7.9, Percona Server (MySQL) 8.0.29. Конфигурация Master/Slave |
pfjm | Сервер генерации нагрузки: JMeter 5.3.3 используется для создания трафика, InfluxDB собирает и хранит данные, Grafana визуализирует результаты тестов |
Процессы и потоки данных |
1. Тестовый трафик 2. Балансировка нагрузки 3. Работа с кластерным кешем 4. Работа с кластерными сессиями 5. Синхронизация файлов между нодами через Lsync 6. Репликация данных в БД 7. Подключение к БД ядра для работы продукта |
После развертывания тестового стенда и проведения тестов выполнили тонкую настройку серверов.
Изменения веб-окружения | |
---|---|
Параметры ОС |
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range sysctl -w net.ipv4.tcp_tw_recycle=1 sysctl -w net.ipv4.tcp_tw_reuse=1 |
Параметры базы данных |
sync_binlog увеличен до 1000 innodb_buffer_pool_size увеличен до 34 ГБ max_heap_table_size установлен в 256 МБ myisam_sort_buffer_size увеличен до 64 МБ max_connections увеличен до 305 |
Настройка кластера в модуле «Веб-кластер» продукта Битрикс24.
Тестовое внедрение интранет-портала
В кластерном решении развернули коробочную версию «Битрикс24» редакции «Энтерпрайз», версия 22.375 по версии Главного модуля. Параметры тестового CRM-решения:
- Типовое коробочное решение «Битрикс24», редакция «Энтерпрайз», версия 22.375 с последними обновлениями. Для построения кластерного решения использовали модуль «Веб-кластер».
- Демонстрационный контент на момент старта финального теста: 500 000 компаний, 1 515 000 контактов, 995 000 лидов, 500 000 сделок, 144 000 товаров в каталоге, 9 391 000 событий CRM, 4 522 000 записей в таймлайне CRM, 36 000 сообщений в живой ленте.
- Количество сотрудников в базе данных портала: 22 198, распределенных по 14 структурным подразделениям.
Методика проведения тестирования
Для тестирования выбрали два основных сценария использования CRM:
- Быстрые лиды — до 500 и более менеджеров обрабатывают поток входящих лидов. Цель — квалифицировать лиды и перевести их в проигрыш или конвертировать в сделки по приобретению товаров или услуг.
- Длинные сделки — до 100 и более менеджеров работают с ограниченным количеством сделок на каждого. Каждый день они обновляют статусы сделок, планируют встречи, загружают документы, добавляют комментарии и звонки, корректируют спецификацию. Отличительная особенность этого сценария — большой объем товаров в каждой сделке.
Тест моделировал ситуацию, когда компания одновременно использует оба сценария. Это характерно для крупных организаций с несколькими направлениями бизнеса. Нагрузка была выбрана ресурсоемкой, чтобы проверить работу CRM и всего «Битрикс24» в условиях сложных проектов. Описание сценариев теста приведено ниже.
Сценарий (% нагрузки) | Действие | Вес, % |
---|---|---|
Быстрые лиды (80%) | Авторизация | 100 |
Список лидов | 100 | |
Список лидов повторный | 100 | |
Лид | 100 | |
Загрузка товара | 100 | |
Загрузка товара 2 | 100 | |
Проигранный лид | 18 | |
Успешный лид | 2 | |
Обновление канбана лидов, пуш | 100 | |
Список лидов | 100 | |
Долгие сделки (20%) | Авторизация | 100 |
Список лидов | 100 | |
Список сделок | 100 | |
Открытие сделки | 100 | |
Загрузка платежных документов | 100 | |
Добавление звонка | 5 | |
Добавление комментария в сделку | 5 | |
Обновление канбана сделок, пуш | 100 | |
Сделки список | 100 | |
Компании (1%) | Авторизация | 100 |
Список лидов | 100 | |
Список компаний | 100 |
Нагрузку создавали с помощью JMeter версии 5.5. Данные теста записывались в InfluxDB — высокопроизводительную базу данных, предназначенную для обработки больших объемов записей и запросов.
Для визуализации аналитики использовали приложение Grafana. Сбор информации о нагрузке выполнялся через приложение Telegraf.
Результаты тестирования
В тестовом внедрении CRM на базе «Битрикс24» редакции «Энтерпрайз» использовали сценарии, имитирующие работу крупной компании. Система была размещена на кластере из четырех физических серверов. В ходе 24-часового теста CRM обеспечивала стабильную работу для 3 000 сотрудников, одновременно использующих систему.
Система мониторинга зафиксировала 2 423 874 обращения к CRM за сутки. Среднее время отклика для 95% запросов составило 0,713 секунды. Серверные ошибки отсутствовали.
Некоторые графики, показывающие ход тестирования, а также утилизацию памяти и процессора, представлены ниже.
Общий статус тестирования: количество потоков, динамика по количеству запросов в секунду, общее количество обработанных запросов и количество ошибок
Сертификат нагрузочного тестирования
Выводы
Результаты тестирования «Битрикс24» редакции «Энтерпрайз» подтвердили высокую производительность и стабильность работы при больших нагрузках.
Демонстрационная CRM, развернутая на кластере из четырех серверов, успешно обеспечила одновременную работу 3 000 пользователей. Такой показатель соответствует нагрузке, характерной для крупных корпораций.
Система обеспечивала быстрый отклик — для большинства запросов время не превышало одной секунды. Это делает работу с CRM удобной для пользователей. Технология масштабирования и модуль «Веб-кластер» в составе «Битрикс24» подтвердили свою эффективность.
Методика тестирования, сценарии и профили нагрузки максимально приблизили условия теста к реальным. Это позволяет использовать результаты как эталон при проектировании новых проектов. Хотя целью тестирования не было определение предельных значений нагрузки, которые может выдержать система, полученные результаты обеспечивают достаточный запас для большинства проектов.
Компания «1С-Битрикс» готова предоставить методику тестирования, конфигурацию портала и тестового стенда по запросу корпоративным заказчикам и интеграторам. Эти данные можно использовать как основу для полномасштабного тестирования разработанных порталов или их прототипов, проверки гипотез и расчета запаса прочности решений при пиковых нагрузках. Тестовые стенды могут быть адаптированы под индивидуальные условия, включая интеграции с корпоративными системами предприятия. Это позволяет получить более точные и релевантные результаты.
Для запроса дополнительной информации по тестированию обратитесь в 1С-Битрикс любым удобным способом.