Включаем «Монитор производительности» в Битриксе — честный диагноз, а не гадание на кофейной гуще
Хочу себе такие же кнопкиВключаем «Монитор производительности» в Битриксе — честный диагноз, а не гадание на кофейной гуще
Что вы получите:
- Понимание, какие показатели действительно влияют на скорость сайта.
- Пошаговую инструкцию, как включить встроенный 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‑коде; если наоборот — в базе данных.
Частые причины медленной работы и как их фиксить
-
Неправильные индексы
- Симптом: большое количество запросов, каждый из которых читает десятки тысяч строк.
- Решение: в phpMyAdmin или через консоль выполните
EXPLAIN SELECT …. Добавьте недостающий индекс (ALTER TABLE … ADD INDEX (field);).
-
Отсутствие кэширования
- Симптом: Cache hit rate 30 %.
- Решение: включите Bitrix Cache (
/bitrix/modules/main/options.php→ «Кешировать вывод»), настройте memcached или redis вphp.ini.
-
Тяжёлые модули (инфоблоки, поиск, каталоги)
- Симптом: CPU % > 80 % в запросах к
catalog.product. - Решение: разбейте инфоблоки на более мелкие, включите композитный сайт (модуль «Компонентный кеш»).
- Симптом: CPU % > 80 % в запросах к
-
Неоптимальные шаблоны
- Симптом: каждый запрос к странице генерирует 200 + SQL‑запросов.
- Решение: используйте include‑caching (
$APPLICATION->IncludeComponent(..., array('CACHE_TYPE' => 'A', 'CACHE_TIME' => 3600));).
-
Недостаток ресурсов VDS
- Симптом: IO wait > 300 мс, даже при небольшом количестве запросов.
- Решение: перейдите на Hi‑CPU план у VDSina (SSD, 4 CPU, 8 GB RAM).
Как использовать монитор в реальном времени
- Установите пороги оповещений в
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‑сообщение } - Автоматизируйте сбор логов в Grafana или Zabbix: экспортируйте таблицу
b_perf_logв InfluxDB и создайте дашборд. - Сравните показатели до и после оптимизации: сохраняйте «базовый» отчёт (например, в
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 МБ на один запрос.
Если хотя бы один пункт не выполнен — переходите к пункту «Частые причины», ищите конкретный виновник и фиксируйте.
Практика для закрепления
-
Включите монитор на тестовом стенде, сделайте 5 запросов к главной странице и экспортируйте отчёт в CSV. Какие три показателя превысили пороги, указанные в чек‑листе?
-
Проанализируйте запрос к инфоблоку «Товары», который в отчёте занял более 1 сек. С помощью
EXPLAINнайдите, какие поля не индексированы, и добавьте недостающий индекс. -
Настройте кэширование для компонента «Список новостей» так, чтобы
Cache hit rateвыросло минимум до 85 %. Приведите fragment конфигурации компонента. -
Создайте cron‑задачу, которая будет проверять таблицу
b_perf_logкаждые 10 минут и отправлять оповещение, еслиcpu_percent> 80 % илиdb_query_time> 2 сек. Приведите код задачи. -
Сравните два плана 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 блог для бизнеса