Производительность
Нагрузочное тестирование Битрикс24
Алексей Завьялов, Tech Lead11 мин
Без нагрузочных тестов запуск крупной инсталляции — рулетка. Разбираем методологию.
Инструменты
- k6 — современный, JS-синтаксис
- Locust — Python, сложные сценарии
- Apache JMeter — классика, GUI
- Gatling — Scala, высокая производительность
Сценарии
Имитируем реальную работу:
- 60% — просмотр карточек сделок/лидов
- 20% — поиск
- 10% — изменение/создание сделок
- 5% — выгрузка отчётов
- 5% — работа с документами и файлами
Паттерны нагрузки
- Ramp-up — постепенное увеличение до целевого уровня
- Constant — стабильная нагрузка
- Spike — резкий всплеск (имитация утра понедельника)
- Stress — превышение целевой до отказа
Что измерять
- p50, p95, p99 ответа
- RPS пиковый и устойчивый
- Error rate
- CPU, memory, disk I/O, network
SLO
Определите до тестов. Пример: p95 < 500ms, error rate < 0.1%, 99% доступность. Не достигается — значит в продакшене тоже не достигнется.
bitrix