Нагрузочное тестирование Битрикс: подготовка, инструменты, кейсы

Нагрузочное тестирование сайта 1С-Битрикс Представьте: интернет-магазин на Битрикс запускает рекламную кампанию, и в первый час приходит 5 000 посетителей. Сайт падает через 10 минут. Типичная ситуация — недостаточное нагрузочное тестирование. Без него каждый рост трафика — рулетка. Мы решаем эту
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Нагрузочное тестирование Битрикс: подготовка, инструменты, кейсы
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    734
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

Нагрузочное тестирование сайта 1С-Битрикс

Представьте: интернет-магазин на Битрикс запускает рекламную кампанию, и в первый час приходит 5 000 посетителей. Сайт падает через 10 минут. Типичная ситуация — недостаточное нагрузочное тестирование. Без него каждый рост трафика — рулетка. Мы решаем эту проблему: проводим тесты, выявляем узкие места и гарантируем, что сайт выдержит пик. Средняя стоимость нагрузочного теста — от 100 000 до 200 000 руб., но сэкономленные средства от предотвращения сбоев могут превышать 500 000 руб.

Нагрузочное тестирование (load testing) — это процесс проверки поведения системы под ожидаемой и пиковой нагрузкой (Wikipedia). Для Битрикс это особенно важно из-за особенностей архитектуры, таких как торговый каталог и инфоблоки.

Как подготовить сайт Битрикс к нагрузочному тестированию?

Перед запуском тестов убедитесь, что базовая оптимизация выполнена: SQL-индексы, кэширование и OPcache. Тестировать неоптимизированный сайт — бессмысленно (получите worst case, а не реальную картину). Мы начинаем с аудита конфигурации сервера: версии PHP и MySQL, настройка кэширования на Redis, проверка сессий и файлового кэша. Это гарантирует релевантные результаты.

Какие инструменты выбрать для тестирования Битрикс?

Основные инструменты — Apache JMeter и k6. JMeter многофункционален, с GUI, поддерживает сценарии с авторизацией, корзиной и AJAX. k6 — современный, сценарии на JavaScript, легко встраивается в DevOps. Сравнение: JMeter лучше в сложных сценариях (например, с CSRF-токенами), но k6 проще интегрировать в CI/CD. Для выбора стоит оценить объём тестов и инфраструктуру.

Пример сценария на k6 для интернет-магазина:

import http from 'k6/http'; import { check, sleep } from 'k6'; export const options = { stages: [ { duration: '2m', target: 50 }, { duration: '5m', target: 50 }, { duration: '2m', target: 200 }, { duration: '5m', target: 200 }, { duration: '2m', target: 0 }, ], thresholds: { http_req_duration: ['p(95)<2000'], http_req_failed: ['rate<0.01'], }, }; export default function() { const res = http.get('https://yourshop.ru/catalog/'); check(res, { 'status 200': (r) => r.status === 200 }); sleep(Math.random() * 3 + 1); } 

Что тестируем

Полный цикл включает четыре типа тестов:

  • Нагрузочный тест (Load Test) — постепенное наращивание до ожидаемого пика для поиска точки деградации.
  • Стресс-тест (Stress Test) — нагрузка выше максимума для проверки восстановления.
  • Spike Test — резкий скачок (имитация вирусного поста).
  • Soak Test — длительная нагрузка для выявления утечек памяти.

Как провести нагрузочное тестирование за 5 шагов

  1. Составьте сценарий на основе аналитики посещаемости и бизнес-метрик.
  2. Настройте инструмент (JMeter/k6) и запустите базовый тест.
  3. Организуйте мониторинг сервера (Prometheus + Grafana).
  4. Запустите полный цикл тестов — load, stress, spike, soak.
  5. Анализируйте результаты, оптимизируйте и повторите для подтверждения.

Сценарии для Битрикс-магазина

Реалистичный сценарий нагружает типичный путь пользователя:

40% — просмотр страниц каталога 20% — поиск 15% — карточки товаров 10% — добавление в корзину 8% — авторизация и личный кабинет 7% — оформление заказа 

Добавление в корзину через /bitrix/tools/sale_basket.php — AJAX с CSRF-токеном. JMeter или k6 должны его извлекать из страницы и передавать в POST.

Мониторинг во время теста

Без мониторинга сервера тест неполноценен. Мы используем Prometheus + node_exporter + Grafana для сбора метрик в реальном времени. Ключевые точки:

  • PHP-FPM: pm.status_path = /fpm-status — если active processes = max_children, воркеры исчерпаны.
  • MySQL: SHOW PROCESSLIST — блокировки и slow queries.
  • Битрикс: панель производительности под нагрузкой.
  • Системные метрики: CPU, RAM, disk I/O.

Типичные узкие места Битрикс под нагрузкой

PHP-FPM исчерпывает воркеры. При pm.max_children = 20 — 20 одновременных PHP-запросов. Решение: увеличить max_children с учётом RAM (каждый воркер 50–150 МБ) или оптимизировать время ответа.

MySQL: слишком много соединений. 100 воркеров × 3 сайта = 300 соединений. При max_connections = 151 — ошибки. ProxySQL мультиплексирует соединения.

Файловый кеш под нагрузкой. При 200 пользователях — блокировки. Переход на Redis устраняет проблему.

Сессии в файлах. Аналогичная проблема — Redis-сессии стабильнее.

Что входит в работу

  • Составление реалистичных сценариев на основе аналитики
  • Настройка инструментов (JMeter/k6) и мониторинга
  • Проведение 4 типов тестов
  • Анализ результатов с графиками и рекомендациями
  • Помощь в оптимизации (кэширование, SQL, конфигурация)
  • Финальный повторный тест для подтверждения улучшений

Как интерпретировать результаты?

Метрика Хорошо Допустимо Плохо
p95 времени ответа < 1 с 1–3 с > 3 с
Ошибки (5xx) 0% < 0.1% > 1%
CPU сервера < 50% 50–80% > 80%
PHP-FPM активные / max < 60% 60–85% > 90%

Сроки

Задача Срок
Составление сценариев + настройка инструментов 1–2 дня
Базовый нагрузочный тест + анализ 1 день
Настройка мониторинга 1 день
Итерация: оптимизация + повторный тест 2–3 дня
Полный цикл (4 теста + отчёт) 1 неделя

Хотите быть уверены в стабильности сайта? Свяжитесь с нами — мы проведём нагрузочное тестирование и предоставим детальный отчёт с рекомендациями. Закажите тест сейчас и получите скидку 10% на первый проект.