Включаем «Монитор производительности» в Битриксе — честный диагноз, а не гадание на кофейной гуще
Дата публикации: 24.06.2026

Включаем «Монитор производительности» в Битриксе — честный диагноз, а не гадание на кофейной гуще

Хочу себе такие же кнопки
ccb9a536

Включаем «Монитор производительности» в Битриксе — честный диагноз, а не гадание на кофейной гуще

Что вы получите:

  • Понимание, какие показатели действительно влияют на скорость сайта.
  • Пошаговую инструкцию, как включить встроенный Performance Monitor в Битриксе.
  • Навыки чтения и интерпретации отчётов без «доморощенных» догадок.
  • План действий для устранения самых распространённых узких мест.

Почему обычный «пинг‑тест» не помогает

Представьте, что ваш сайт — это автомобиль. Пинг‑тест — это измерение скорости на спидометре, но без знания, что происходит под капотом: сколько оборотов двигателя, давление в шинах, состояние тормозов. Performance Monitor — это же диагностический сканер, который показывает, где именно «запарилось» приложение: в базе данных, в PHP‑скриптах, в кэше или в сетевых запросах.


Как включить «Монитор производительности»

Шаг Действие Что происходит
1 Откройте /bitrix/admin/performance.php (или через меню «Настройки → Производительность»). Система проверяет, включён ли модуль performance.
2 Установите галочку «Включить сбор данных» и задайте интервал (по‑умолчанию — 5 сек). Начинается запись метрик в таблицу b_perf_log.
3 Сохраните изменения и перезапустите Apache/Nginx (если требуется). Сбор данных будет происходить в реальном времени.
4 Откройте /bitrix/admin/performance_report.php для просмотра отчётов. Вы увидите графики и таблицы с разбивкой по запросам, модулям, времени выполнения.

Важно: Если у вас включён OPcache или Redis, включайте монитор после их активации — иначе часть времени будет «прятаться» в кэше и не отразится в отчёте.


Что измеряется в отчёте

Показатель Что измеряется Как интерпретировать
CPU % Доля процессорного времени, которое потратил PHP‑скрипт. > 70 % — высокая нагрузка, ищите «тяжёлые» модули.
Memory (МБ) Объём памяти, выделенный скрипту. Память, 200 МБ — проверьте утечки и размер кэша.
DB query count Количество запросов к MySQL за один запрос к странице. > 30 — проверьте select‑optimisation и caching.
DB query time Суммарное время выполнения всех запросов. > 1 сек — проверьте индексы, slow‑query‑log.
Cache hit rate Процент запросов, обслуживаемых кэшем. < 60 % — нужно увеличить memcached/redis или включить static‑cache.
IO wait Время ожидания диска (чтение/запись). > 200 мс — проверьте SSD vs HDD, FS‑кеш.

Эти метрики позволяют быстро локализовать «узкое место»: если CPU % растёт, а DB query time остаётся низким — проблема в PHP‑коде; если наоборот — в базе данных.


Частые причины медленной работы и как их фиксить

  1. Неправильные индексы

    • Симптом: большое количество запросов, каждый из которых читает десятки тысяч строк.
    • Решение: в phpMyAdmin или через консоль выполните EXPLAIN SELECT …. Добавьте недостающий индекс (ALTER TABLE … ADD INDEX (field);).
  2. Отсутствие кэширования

    • Симптом: Cache hit rate 30 %.
    • Решение: включите Bitrix Cache (/bitrix/modules/main/options.php → «Кешировать вывод»), настройте memcached или redis в php.ini.
  3. Тяжёлые модули (инфоблоки, поиск, каталоги)

    • Симптом: CPU % > 80 % в запросах к catalog.product.
    • Решение: разбейте инфоблоки на более мелкие, включите композитный сайт (модуль «Компонентный кеш»).
  4. Неоптимальные шаблоны

    • Симптом: каждый запрос к странице генерирует 200 + SQL‑запросов.
    • Решение: используйте include‑caching ($APPLICATION->IncludeComponent(..., array('CACHE_TYPE' => 'A', 'CACHE_TIME' => 3600));).
  5. Недостаток ресурсов VDS

    • Симптом: IO wait > 300 мс, даже при небольшом количестве запросов.
    • Решение: перейдите на Hi‑CPU план у VDSina (SSD, 4 CPU, 8 GB RAM).

Как использовать монитор в реальном времени

  1. Установите пороги оповещений в b_perf_log через cron‑задачу:
    $db = \Bitrix\Main\Application::getConnection();
    $sql = "SELECT * FROM b_perf_log WHERE cpu_percent > 70 OR db_query_time > 1";
    $result = $db->query($sql);
    if ($result->fetch()) {
       // отправить email или Telegram‑сообщение
    }
  2. Автоматизируйте сбор логов в Grafana или Zabbix: экспортируйте таблицу b_perf_log в InfluxDB и создайте дашборд.
  3. Сравните показатели до и после оптимизации: сохраняйте «базовый» отчёт (например, в perf_2024_06_01.json) и сравнивайте с текущим.

Лучшие практики и «мелочи», которые часто упускают

Практика Почему важна
Отключить debug в продакшене Дебаг‑инструменты добавляют ~ 10 % к времени выполнения.
Настроить opcache (opcache.memory_consumption=256) Уменьшает время компиляции скриптов почти в 3‑5 раз.
Разделить статические файлы (CSS/JS) на CDN Снижает IO wait и CPU % на веб‑сервере.
*Регулярно чистить `bcache`** Профилактика «заполнения» кэша и падения Cache hit rate.
Планировать «пиковые» тесты (JMeter, Siege) Позволяет увидеть, как система реагирует при нагрузке, а не только в «тихих» часах.

Быстрый чек‑лист перед запуском сайта в продакшн

  • [ ] Performance Monitor включён и собирает данные минимум 30 минут.
  • [ ] CPU % < 70 % в среднем по запросам.
  • [ ] DB query time < 0,5 сек, количество запросов < 20.
  • [ ] Cache hit rate > 80 %.
  • [ ] IO wait < 150 мс.
  • [ ] Memory usage < 150 МБ на один запрос.

Если хотя бы один пункт не выполнен — переходите к пункту «Частые причины», ищите конкретный виновник и фиксируйте.


Практика для закрепления

  1. Включите монитор на тестовом стенде, сделайте 5 запросов к главной странице и экспортируйте отчёт в CSV. Какие три показателя превысили пороги, указанные в чек‑листе?

  2. Проанализируйте запрос к инфоблоку «Товары», который в отчёте занял более 1 сек. С помощью EXPLAIN найдите, какие поля не индексированы, и добавьте недостающий индекс.

  3. Настройте кэширование для компонента «Список новостей» так, чтобы Cache hit rate выросло минимум до 85 %. Приведите fragment конфигурации компонента.

  4. Создайте cron‑задачу, которая будет проверять таблицу b_perf_log каждые 10 минут и отправлять оповещение, если cpu_percent > 80 % или db_query_time > 2 сек. Приведите код задачи.

  5. Сравните два плана VDS: обычный «150 ГБ SSD» и «Hi‑CPU 4 CPU 8 GB RAM». С помощью монитора измерьте среднее IO wait и CPU % при одинаковой нагрузке (например, 100 одновременных запросов). Какой план более эффективен и почему?


Итоги: включив встроенный Performance Monitor, вы получаете объективные данные, а не «чувства» о том, почему сайт «тормозит». Систематический подход к измерению, анализу и исправлению узких мест позволяет поддерживать быстрый и надёжный сервис даже при росте трафика и усложнении бизнес‑логики. Начните измерять уже сегодня — и каждый последующий шаг оптимизации будет подкреплён реальными цифрами.


CamZamZam - онлайн фото с вебкамеры с эффектами
Cartoon Network: игры с персонажами
Чат рулетка в 2026: будущие функции
Эксперт по доменным стратегическим решениям
Хостинг для e-commerce проектов
Как играть в слоты
Как настроить CDN для сайта на хостинге Host.bg
Как настроить SSL-сертификат для сайта на Host.bg
Как оптимизировать производительность сайта с хостингом Host.bg
Как выбрать правильный хостинг для вашего сайта
Какие бывают ЛОР болезни у детей
Кассовые терминалы с оплатой картами
LOL куклы витрина детская
Лучшие видеорегистраторы для водителей
Онлайн QR-код сканер
Онлайн-связь
Оптимизация производительности баз данных на хостинге Host.bg
Основы настройки веб-хостинга: что вам нужно знать
Партнёрская программа без блога: как получать трафик из Telegram
Профессиональные хитрости для пользователей хостинга Host.bg
Регистрация ИП в Москве для иностранных граждан
Сравнение хостинга Host.bg с другими провайдерами
Субтитры — нет, уши — включены: погружение в английский за 5 минут
Сумки с бусинами
Техника для строительства загородных трасс
ТОП-10 VPS для разработчика: рейтинг серверов под рабочие задачи
WordPress блог для бизнеса
рейтинг хостингов 2026 Быстрые VDS серверы