Настройка производительности коробки начинается тогда, когда портал начинает «задумываться»: медленно открываются сделки, тормозит живая лента, растёт время ответа. Разбираем, где искать узкие места и как их устранять — от тюнинга MySQL и PHP до кэширования и чистки базы.
С чего начать: диагностика
Оптимизировать вслепую бессмысленно — сначала нужно измерить. В коробке для этого есть встроенные инструменты, а на уровне сервера — стандартные утилиты.
- Монитор производительности —
Настройки → Производительность → Панель, показывает время генерации страниц, число хитов в секунду, медленные компоненты. - Тест конфигурации — оценивает соответствие сервера рекомендациям Битрикс.
- Slow query log MySQL — выявляет тяжёлые запросы к БД.
htop,iotop— что упирается: CPU, память или диск.
PHP и OPcache
PHP — исполнитель всей логики портала, и его настройки напрямую влияют на скорость. Главный ускоритель — OPcache, который кэширует скомпилированный байт-код и снимает нагрузку компиляции при каждом запросе.
| Параметр | Рекомендация |
|---|---|
| opcache.enable | 1 |
| opcache.memory_consumption | 256 и выше |
| opcache.max_accelerated_files | 100000+ |
| opcache.revalidate_freq | 0 (для боевого) |
| realpath_cache_size | 4096k |
Ядро Битрикс24 состоит из десятков тысяч файлов, поэтому max_accelerated_files нужно поднимать до сотни тысяч — иначе кэш переполняется и эффект теряется. Память OPcache выделяют щедро, а memory_limit для PHP держат от 256–512 МБ.
Тюнинг MySQL/MariaDB
База данных — самое частое узкое место на растущем портале. Основной рычаг для InnoDB — буферный пул, в который кэшируются данные и индексы.
- innodb_buffer_pool_size — 50–70% доступной оперативной памяти сервера БД.
- innodb_flush_log_at_trx_commit — 2 даёт прирост записи при допустимом риске.
- innodb_file_per_table — 1, чтобы таблицы жили в отдельных файлах и БД не пухла монолитом.
- tmp_table_size / max_heap_table_size — поднимают, чтобы временные таблицы реже уходили на диск.
- Включите slow_query_log и разберите запросы дольше 1–2 секунд.
Кэширование и композит
Битрикс24 умеет кэшировать результаты работы компонентов, чтобы не пересчитывать их на каждый хит. Настройки — в Настройки → Настройки продукта → Автокеширование.
- Включите автокеширование — базовый уровень для всех компонентов.
- Настройте хранение кэша в памяти (Memcached/APCu) вместо файлов на диске.
- Активируйте композитный сайт для публичной части и порталов с высокой посещаемостью.
- Проверьте, что managed_cache и stack_cache работают через быстрое хранилище.
Хранение кэша в оперативной памяти через Memcached заметно снижает нагрузку на диск — при большом числе пользователей это один из самых заметных приростов. В BitrixVM подключение memcached делается из меню окружения.
Чистка и обслуживание базы
Со временем база обрастает мусором: журналы, старые сессии, история изменений, поисковый индекс. Это раздувает БД и замедляет запросы.
| Что чистить | Где |
|---|---|
| Журнал событий | Настройки → Инструменты → Журнал |
| Устаревшие сессии | Таблица b_user_session |
| Поисковый индекс | Переиндексация по расписанию |
| Старые бэкапы в БД | Модуль резервного копирования |
Полезно периодически выполнять OPTIMIZE TABLE для крупных таблиц и следить за фрагментацией. Настройте автоочистку журналов и ограничьте глубину хранения истории, чтобы база не росла бесконтрольно.
Когда пора масштабировать
Наступает момент, когда тюнинг одного сервера исчерпан, а нагрузка растёт. Тогда переходят к горизонтальным решениям.
- Вынос БД на отдельный сервер — разделение веб-нагрузки и базы.
- Push-сервер и очереди на отдельном процессе, чтобы не мешать веб-хитам.
- Веб-кластер — модуль
clusterдля распределения нагрузки на несколько нод. - Быстрые диски (SSD/NVMe) под базу и папку upload.
Итог
Производительность коробки — это последовательная работа: измерить монитором и slow-логом, настроить OPcache и PHP, затюнить буферный пул MySQL, включить кэш в памяти и композит, вычистить базу. Масштабирование на несколько серверов — крайняя мера, к которой переходят, когда одиночный сервер действительно исчерпан.
Мы в B2Bsite проводим аудит производительности коробочного Битрикс24 и устраняем узкие места: тюнинг сервера, кэширование, оптимизацию тяжёлых запросов и, при необходимости, масштабирование. Если портал тормозит и мешает работать отделу продаж — найдём причину и ускорим его.
Частые вопросы
С чего начать ускорение портала?
С диагностики: монитор производительности в панели Битрикс24, slow query log в MySQL и htop на сервере. Сначала находят узкое место, потом устраняют его, а не наоборот.
Почему важен OPcache для Битрикс24?
Ядро состоит из десятков тысяч файлов, и без кэша байт-кода PHP компилирует их на каждый запрос. OPcache с большим max_accelerated_files убирает эти затраты.
Какой параметр MySQL влияет сильнее всего?
innodb_buffer_pool_size — его выставляют в 50–70% оперативной памяти сервера БД. Именно в этот пул кэшируются данные и индексы InnoDB.
Что даёт кэш в памяти?
Хранение кэша компонентов в Memcached или APCu вместо файлов снимает нагрузку с диска. При большом числе пользователей это один из самых заметных приростов скорости.
Нужен ли композитный режим?
Он полезен для публичной части и порталов с высокой посещаемостью — отдаёт статическую версию страницы мгновенно, догружая динамику отдельно. Для внутреннего портала эффект меньше.
Как чистка базы влияет на скорость?
Раздутые журналы, сессии и история изменений замедляют запросы и увеличивают размер БД. Регулярная автоочистка и OPTIMIZE TABLE держат базу в форме.
Когда пора выносить базу на отдельный сервер?
Когда тюнинг одиночного сервера исчерпан, а БД конкурирует за ресурсы с веб-нагрузкой. Но сначала убедитесь, что выжаты OPcache, буферный пул и кэш в памяти.
Можно ли ускорить портал без апгрейда железа?
Часто да. Корректный OPcache, буферный пул MySQL, кэш в памяти и чистая база нередко решают проблему без покупки дополнительных серверов.
Поможем с настройкой и поддержкой Битрикс24
Поможем с настройкой, доработкой и поддержкой Битрикс24.