Битрикс24 — важный инструмент для управления бизнесом, но после доработки портала скорость и стабильность могут ухудшиться. Как системный администратор, разработчик или IT-специалист, вы наверняка сталкивались с ситуацией, когда внедрение нового функционала или переработка существующего кода негативно сказывается на производительности.
В этой статье разберем основные причины и дадим практические решения — почему доработки «тормозят» Битрикс24?
Возможные причины низкой скорости и нестабильности
После доработки портала нагрузка на БД может значительно увеличиться, особенно если:
- Не оптимизированы SQL-запросы
- Используются сложные выборки без индексов
- Хранятся избыточные данные
Решение:
- Проверьте долгие SQL-запросы через EXPLAIN
- Настройте индексы в БД
- Используйте метод getList вместо прямых SQL-запросов, если возможно
- Удаляйте устаревшие данные (можно автоматизировать с помощью агента Битрикс24)
Пример оптимизации SQL-запроса:
SELECT id, name FROM b_crm_deal WHERE status='NEW' ORDER BY date_create DESC LIMIT 50;
Этот запрос можно ускорить, добавив индекс:
ALTER TABLE b_crm_deal ADD INDEX idx_status_date (status, date_create);
Если после внедрения кастомных решений портал стал «тяжелым», проблема может быть в компонентах:
- Не кешируются запросы
- Выполняется много ненужных вычислений
- Загружается слишком много данных без постраничной навигации
Решение:
- Включите кеширование компонентов:
if ($this->StartResultCache(3600)) {
// Ваш код
$this->EndResultCache();
} - Используйте CDBResult::NavStart() для постраничного вывода
- Перенесите сложные расчеты в агенты или командные скрипты
Частая проблема — подключение множества обработчиков событий, особенно если они выполняются в реальном времени.
Решение:
- Проверьте подключенные обработчики в админке (как правило, в папке local)
- Отключите ненужные обработчики
- Используйте OnAfter вместо OnBefore, если это возможно
- Для тяжелых обработок используйте очереди или задачи на cron
Фронтенд Битрикс24 сильно влияет на скорость. Если пользовательские скрипты грузят браузер, портал может работать медленно.
Решение:
- Оптимизируйте загрузку JS и CSS (объедините файлы, используйте асинхронную загрузку)
- Проверьте консоль браузера (клавиша F12 → Network) на медленные скрипты
- Используйте BX.ready() вместо BX.ajax.onload_965722 для загрузки скриптов после DOM
Даже при идеальном коде сервер может быть перегружен:
- Недостаточно оперативной памяти
- Низкая производительность дисковой системы
- Некорректные настройки PHP, MySQL, Redis
Решение:
- Проверьте нагрузку htop, iostat, mysqltuner
- Увеличьте лимиты PHP (memory_limit, max_execution_time)
- Используйте Redis для кеширования, если его нет
Пример настройки Redis в Битрикс24:
\Bitrix\Main\Application::getInstance()->getManagedCache()->setHandler(new \Bitrix\Main\Data\RedisCache());
Выбор операционной системы для коробочной версии Битрикс24
Для стабильной работы коробочной версии Битрикс24 рекомендуется использовать CentOS. Это одна из наиболее оптимизированных систем для работы с LAMP-стеком (Linux, Apache, MySQL, PHP), который лежит в основе Битрикс24. CentOS отличается высокой стабильностью, поддержкой SELinux и удобными инструментами для администрирования.
- Предварительно оптимизированное окружение BitrixENV, значительно упрощающее разворот и администрирование портала
- Поддержка корпоративных решений и долгосрочная поддержка обновлений
- Оптимизированная работа с MariaDB, PHP и Apache/Nginx
- Гибкие настройки безопасности, в том числе iptables/firewalld
- Совместимость с серверными инструментами мониторинга, такими как Zabbix и Grafana
Как установить Битрикс24 на МосОС и стоит ли за это браться?
Как контролировать производительность Битрикс24
Чтобы избежать неожиданных проблем и поддерживать производительность системы на высоком уровне, важно регулярно отслеживать ключевые параметры:
- Время выполнения SQL-запросов
- Нагрузку на сервер
- Количество активных обработчиков событий
- Время отклика портала и API
Рекомендуем использовать Zabbix — мощное решение для мониторинга производительности Битрикс24 и серверной инфраструктуры. Мы сами используем этот инструмент, чтобы оперативно реагировать на любые потенциальные проблемы с порталами наших клиентов
Станислав Коротеев — системный администратор компании ПУСК
С помощью системы мониторинга можно:
- Настроить сбор метрик по нагрузке на сервер (CPU, RAM, дисковая активность)
- Отслеживать состояние MySQL и Redis
- Контролировать время выполнения ключевых запросов и скриптов
- Настроить оповещения о превышении критических значений.
Пример конфигурации мониторинга MySQL в Zabbix:
zabbix_agentd -t mysql.status[Threads_running]
Дополнительно можно подключить New Relic или Grafana + Prometheus для глубокой аналитики работы PHP-кода и клиентской части.
Итоги
Если доработанный портал Битрикс24 тормозит, начинайте диагностику с баз данных, затем переходите к проверке кода компонентов, обработчиков событий, фронтенда и серверных настроек. Мы имеем большой опыт оптимизации и готовы помочь в решении сложных проблем с производительностью.
Оставьте заявку в форме ниже или позвоните по номеру