Представьте: в пиковый час ваш интернет-магазин на Битрикс начинает тормозить. Менеджеры не успевают обрабатывать заказы, каталог открывается 8 секунд, а 1С-обмен подвисает. Один запрос к b_iblock_element выполняется 4 секунды — и таких тысяч в минуту. Стандартное профилирование Xdebug покажет проблему, но только когда уже поздно. APM работает непрерывно, фиксирует каждый медленный запрос, каждую ошибку и падение throughput. Мы интегрируем APM в ваш 1С-Битрикс, чтобы вы видели реальную картину производительности 24/7. В отличие от одноразовых замеров, APM даёт временные ряды: вы знаете, что вчера p95 response time был 1.2 с, а сегодня — 2.9 с. И можете сразу реагировать.
Мы используем два основных стека: Elastic APM (open-source, self-hosted) и New Relic / Datadog (SaaS). Для каждого проекта подбираем оптимальный вариант под нагрузку и бюджет. Результат — дашборды в Kibana или New Relic UI, алерты в Slack/Telegram, полный контроль над производительностью. Ниже — технические детали.
Процесс настройки APM
- Анализ архитектуры и нагрузки. Определяем критичные точки: медленные страницы, тяжёлые SQL, внешние вызовы.
- Выбор стека APM. Elastic APM или New Relic — под конкретные требования по скорости, бюджету и контролю данных.
- Установка и конфигурация APM Server, Elasticsearch и Kibana (или агента New Relic).
- Настройка PHP-агента на сервере. Оптимизация параметров вроде
transaction_sample_rate. - Создание дашбордов и алертов. Отслеживание p95 response time, error rate, Apdex.
- Тестирование и калибровка. Проверка корректности данных и настройка уведомлений.
Мониторинг APM в Битрикс
PHP-агент перехватывает выполнение запросов и отправляет метрики в центральное хранилище. Схема Elastic APM:
PHP-агент (elastic-apm-php) → APM Server → Elasticsearch → Kibana (APM UI) Установка PHP-агента:
# Debian/Ubuntu curl -L -O https://github.com/elastic/apm-agent-php/releases/download/v1.x.x/apm-agent-php_Linux_x86-64.deb dpkg -i apm-agent-php_Linux_x86-64.deb В php.ini:
extension=elastic_apm.so elastic_apm.server_url=http://apm-server:8200 elastic_apm.service_name=bitrix-site elastic_apm.environment=production elastic_apm.transaction_sample_rate=0.1 transaction_sample_rate=0.1 — профилируется 10% запросов. На нагруженных сайтах 100% даёт ощутимый overhead.
Детали overhead
При sample_rate=0.1 overhead составляет менее 1% по данным наших замеров на проектах с каталогами до 500 000 товаров. Для сайтов с менее 10 000 запросов в минуту можно устанавливать 0.5 без заметного влияния.
Агент автоматически перехватывает:
- Входящие HTTP-запросы — время ответа, статус, URL, метод.
- SQL-запросы — к
b_iblock_element,b_sale_order,b_crm_dealи всем остальным таблицам. Видно время, тело запроса, план выполнения. - Внешние HTTP-вызовы —
curl_exec,file_get_contents. Запросы к 1С, платёжным системам, внешним API. - Исключения —
\Bitrix\Main\SystemException, необработанные ошибки.
Для кастомных операций (длинный import-скрипт, тяжёлая агрегация) создаём span вручную:
use Elastic\Apm\ElasticApm; $transaction = ElasticApm::getCurrentTransaction(); $span = $transaction->beginCurrentContextSpan('import.products', 'custom'); // ... логика импорта ... $span->end(); Какой APM выбрать: Elastic или New Relic?
Elastic APM — бесплатный, ставится на свой сервер, полный контроль над данными. New Relic — облачный, проще старт, но плата за каждый GB данных. Для небольших проектов (до 500 запросов/мин) Elastic APM часто хватает, для крупных с нагрузкой от 1000 запросов/с New Relic удобнее из-за встроенных алертов и интеграций. Мы помогаем выбрать и настроить любой вариант.
| Параметр | Elastic APM | New Relic |
|---|---|---|
| Лицензия | Open-source (Apache 2.0) | Проприетарная, платная |
| Хостинг | Self-hosted (требуется сервер) | SaaS (облачный) |
| Сложность настройки | Средняя (нужен опыт администрирования) | Низкая (быстрый старт) |
| Контроль данных | Полный | Ограничен политикой вендора |
| Встроенные алерты | Через Kibana Alerting | Готовые шаблоны + интеграции |
Почему важен transaction_sample_rate?
Это процент запросов, для которых собираются детальные трейсы. Значение 0.1 (10%) — золотая середина: низкий overhead, но достаточно данных для поиска медленных мест. Если установить 1.0, каждый запрос будет профилироваться — overhead станет заметным на высоких нагрузках. Мы подбираем sample_rate под вашу посещаемость и ресурсы сервера. Например, для сайта с 100 000 визитов в сутки sample_rate 0.1 даёт ~1 000 трейсов в минуту — статистически значимая выборка.
Ключевые метрики и алерты
После настройки в Kibana APM UI доступны:
- Response time — среднее и 95-й перцентиль времени ответа по URL.
- Throughput — запросов в минуту.
- Error rate — процент запросов с ошибками.
- Apdex — индекс удовлетворённости: соотношение быстрых (< T), терпимых (< 4T) и медленных запросов.
Алерты настраиваются в Kibana Alerting: если p95 response time превышает 3 секунды более 5 минут — уведомление в Slack или email. Для особо критичных страниц (корзина, оформление заказа) пороги снижаем до 1 секунды.
Сроки настройки
| Этап | Срок |
|---|---|
| Установка APM Server + Elasticsearch | 1 день |
| Настройка PHP-агента, первые данные | 2–4 часа |
| Настройка дашбордов и алертов | 1 день |
| Тонкая настройка (sampling, кастомные span) | 1–2 дня |
Что входит в работу?
Мы предоставляем: полную документацию по архитектуре APM, инструкцию по поддержке, обучение вашего администратора работе с Kibana/New Relic, настройку уведомлений в корпоративном мессенджере. При необходимости — интеграцию с вашей системой мониторинга (Zabbix, Prometheus). Всё под ключ: от установки агента до запуска дашбордов. Свяжитесь для консультации — оценим ваш проект бесплатно.
Что говорят данные
Согласно документации Elastic APM PHP-агента, минимальный overhead агента составляет менее 1% при sample_rate 0.1 — это подтверждено нашими замерами на проектах с каталогами до 500 000 товаров.
Почему выбирают нас?
Более 5 лет занимаемся 1С-Битрикс и APM. За это время настроили мониторинг для 40+ проектов, включая каталоги с миллионами товаров и CRM с тысячами сделок в день. Опыт работы с Elastic APM, New Relic, Datadog. Работаем по договору с гарантией. Закажите настройку APM для вашего Битрикс-сайта — получите прозрачность производительности.
APM не заменяет профилирование — он показывает что деградирует и когда. Профилировщик объясняет почему. Но вместе они дают полный контроль. Получите консультацию — мы поможем подобрать оптимальное решение.







