Уявіть: у пікову годину ваш інтернет-магазин на Бітрікс починає гальмувати. Менеджери не встигають обробляти замовлення, каталог відкривається 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 не замінює профілювання — він показує що деградує та коли. Профілювальник пояснює чому. Але разом вони дають повний контроль. Отримайте консультацію — ми допоможемо підібрати оптимальне рішення.







