Логотипbitrix-code
Производительность

Нагрузочное тестирование Битрикс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% доступность. Не достигается — значит в продакшене тоже не достигнется.