Что проверить, если Битрикс тормозит: пошаговая диагностика производительности
Медленная работа сайта на 1С-Битрикс не всегда связана с самим движком. В большинстве случаев проблемы возникают из-за настроек сервера, неоптимизированного кода, отсутствия кеширования или перегруженной базы данных. Рассмотрим основные причины и последовательность проверки, которая поможет найти источник тормозов.
1. Проверить производительность в панели Битрикс
Первое, с чего стоит начать диагностику — встроенный модуль производительности.
Откройте:
Настройки → Производительность → Панель производительности

Здесь можно увидеть:
- время генерации страницы;
- количество SQL-запросов;
- использование памяти;
- рейтинг производительности сервера;
- нагрузку на базу данных.
Если страница выполняется несколько секунд и содержит сотни запросов к БД, проблема, скорее всего, связана с кодом или отсутствием кеширования.
В своих проектах я использую серверную инфраструктуру Timeweb
Хостинг, VPS и облачные решения для стабильной работы сайтов на PHP и 1С-Битрикс — от корпоративных сайтов до интернет-магазинов и высоконагруженных веб-проектов.
Перейти на Timeweb
2. Проверить загрузку процессора и памяти
Даже идеально написанный сайт будет тормозить, если серверу не хватает ресурсов.
На Linux можно посмотреть нагрузку командами:
top htop free -h
Следует обратить внимание на:
- загрузку CPU;
- количество свободной памяти;
- наличие swap;
- процессы php-fpm и mysqld.
Если память постоянно заканчивается, сервер начинает использовать swap, что сильно снижает скорость работы сайта.
3. Проверить PHP-FPM
Очень часто причиной тормозов становятся неправильные настройки PHP-FPM.
Проверьте:
- pm.max_children;
- pm.max_requests;
- pm.start_servers;
- pm.max_spare_servers.
Если все процессы заняты, новые запросы будут ждать освобождения воркеров, из-за чего сайт начинает открываться по несколько секунд.
Посмотреть состояние процессов можно:
ps aux | grep php-fpm systemctl status php8.2-fpm
4. Проверить наличие OPcache
OPcache позволяет не компилировать PHP-скрипты при каждом обращении.
Убедитесь, что расширение включено:
php -i | grep opcache.enable
Должно отображаться:
opcache.enable => On
Без OPcache производительность Битрикс может быть значительно ниже.
5. Проверить базу данных MySQL или MariaDB
Медленная база данных — одна из самых распространённых причин проблем.
Проверьте:
- размер таблиц;
- количество медленных запросов;
- наличие индексов;
- настройки innodb_buffer_pool_size.
Включить лог медленных запросов можно в my.cnf:
slow_query_log = ON long_query_time = 1
После этого можно увидеть запросы, которые выполняются слишком долго.
6. Проверить кеширование компонентов
Если кеширование отключено, Битрикс будет обращаться к базе данных при каждом открытии страницы.
Убедитесь, что:
- у компонентов включён кеш;
- используется управляемый кеш;
- не отключён AutoCache;
- не вызывается очистка кеша после каждого действия.
Особенно часто проблемы встречаются в самописных компонентах.
7. Проверить количество SQL-запросов
Иногда одна страница выполняет несколько сотен запросов к базе данных.
Причиной могут быть:
- циклы с CIBlockElement::GetList();
- многократное получение свойств элементов;
- N+1 запросы;
- неоптимизированные компоненты.
Панель производительности Битрикс поможет быстро выявить такие места.
8. Проверить cron-агенты
Если агенты выполняются через хиты сайта, пользователи могут ждать завершения фоновых задач.
Рекомендуется перевести агентов на cron.
Особенно это актуально для:
- обмена с 1С;
- рассылок;
- импорта каталогов;
- интеграций с CRM;
- очистки кеша.
9. Проверить работу внешних сервисов
Сайт может тормозить не из-за Битрикс, а из-за сторонних API.
Например:
- Битрикс24;
- 1С;
- CRM;
- SMTP-сервер;
- платёжные системы;
- сервисы доставки.
Если внешний сервис отвечает несколько секунд, пользователь будет ждать завершения запроса.
10. Проверить Elasticsearch, Redis и Memcached
На крупных проектах использование дополнительных сервисов позволяет значительно снизить нагрузку.
Стоит проверить:
- работу Redis;
- наличие Memcached;
- индексацию Elasticsearch;
- доступность сервисов.
11. Проверить ошибки в логах
Медленная работа может быть связана с постоянными ошибками PHP.
Проверьте:
/var/log/nginx/error.log /var/log/apache2/error.log /var/log/php8.2-fpm.log
Частые предупреждения и ошибки способны существенно замедлять работу сайта.
12. Проверить скорость дисковой подсистемы
Если VPS использует медленный диск, это будет заметно при работе Битрикс.
Проверить скорость можно:
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
Для современных SSD скорость записи обычно составляет несколько сотен мегабайт в секунду.
13. Проверить включён ли режим разработчика
На боевом сайте должны быть отключены:
- display_errors;
- отладочные панели;
- debug-режимы модулей;
- постоянная очистка кеша.
Включённая отладка способна заметно снижать производительность.
14. Проверить nginx и Apache
При использовании связки nginx + Apache стоит убедиться, что запросы не попадают в циклические редиректы и отсутствуют ошибки конфигурации.
Проверить конфигурацию можно:
nginx -t apachectl configtest
15. Выполнить нагрузочное тестирование
Иногда сайт работает быстро для одного пользователя, но начинает тормозить при увеличении количества посетителей.
Для проверки можно использовать:
- Apache Benchmark;
- wrk;
- JMeter;
- k6.
Вывод
Если Битрикс начал работать медленно, не стоит сразу обвинять саму CMS. В большинстве случаев проблема скрывается в настройках сервера, базе данных, PHP-FPM, отсутствии кеширования или неоптимизированном коде. Последовательная диагностика позволяет быстро найти узкое место и вернуть сайту нормальную скорость работы.
Наиболее частые причины тормозов — переполненная база данных, нехватка ресурсов VPS, большое количество SQL-запросов и неправильно настроенный PHP-FPM.
Комментарии