Коробочная версия Битрикс24: как тюнить производительность
За 8 лет мы работали с инсталляциями от 50 до 10 000 пользователей. Вот самые частые проблемы, которые убивают производительность коробки, и конкретные способы их решить.
1. PHP opcache не настроен
Типичная ошибка: дефолтные настройки opcache. Для production нужны:
opcache.memory_consumption=512
opcache.max_accelerated_files=30000
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.enable=1После этих настроек скорость выполнения PHP вырастает в 2–3 раза.
2. Slow query в MySQL
Включите slow_query_log и посмотрите запросы длиннее 1 секунды. Обычно проблема в недостающих индексах. Особенно в кастомных модулях, где забывают про индексы.
3. MySQL не настроен под ваш объём данных
innodb_buffer_pool_size по умолчанию 128MB. Для продакшена нужно 50-70% от RAM сервера. При 32GB RAM — минимум 20GB. Это кардинально ускоряет чтение.
4. Живая лента засорена событиями
Каждое действие в CRM создаёт событие в ленте. За годы работы лента вырастает до сотен миллионов записей. Чистка через штатный функционал или прямо в БД.
5. Много записей в агенте
Регулярные агенты могут накопиться в тысячах. Одни выполняются, другие висят. Проверьте b_agents, отключите ненужные.
6. Sphinx не используется для поиска
Поиск в Битрикс24 должен идти через Sphinx/Manticore, а не по MySQL LIKE. При больших объёмах данных разница в скорости — в сотни раз.
7. Redis для кеширования — обязателен
На среднем и крупном объёме Redis обязателен как кеш. Memcached отходит в прошлое. Настроить через /bitrix/.settings.php раздел cache.
8. FastCGI / PHP-FPM пулы недостаточны
При 500 активных пользователях pm.max_children = 50 — мало. Нужно 100–200 в зависимости от RAM. Формула: RAM для PHP / средний размер процесса PHP.
9. nginx без кеширования статики
Статические файлы должны кешироваться nginx с expires 1y на /upload/ и /bitrix/js/, /bitrix/css/. И не лишним будет gzip/brotli сжатие.
10. Мониторинг отсутствует
Без метрик оптимизировать вслепую бессмысленно. Поставьте Prometheus + Grafana, смотрите p95 ответа, RPS, ошибки. Разберитесь, где именно у вас узкое место.