Как ускорить CRM
Медленная CRM — это потерянные продажи. Менеджер ждёт 5 секунд, пока откроется карточка клиента. Ещё 10 секунд — пока построится отчёт. За день набегают часы простоя. В масштабе отдела продаж это реальные деньги, которые не заработаны.
Хорошая новость: большинство CRM можно ускорить в разы без переписывания кода. Кеширование, оптимизация базы данных, правильные настройки PHP-FPM и OPcache — всё это даёт ощутимый прирост. В этой статье — разбор методов ускорения CRM. Если нужно разместить CRM на быстром сервере — поможем.
Почему CRM тормозит
Причины медленной работы CRM делятся на несколько категорий. Важно понять, где именно узкое место.
Медленная база данных
Нет индексов, маленький буферный пул, медленные диски. Каждый запрос выполняется секундами.
Неэффективный PHP
Нет OPcache, мало воркеров PHP-FPM, неоптимальные настройки памяти.
Медленные диски
HDD или SATA SSD. Диск не успевает обрабатывать запросы БД. Всё ждёт.
Нет кеширования
Каждый раз данные читаются заново. Нет Redis, нет композитного кеша.
Кеширование
Кеширование — самый эффективный способ ускорения. Оно сохраняет результаты работы и отдаёт их без повторных вычислений.
Уровни кеширования
- OPcache: кеширует байт-код PHP. Без него PHP каждый раз компилирует скрипты заново;
- Redis/Memcached: кеширует данные, сессии, результаты запросов;
- Композитный кеш: кеширует готовые HTML-страницы (для Битрикс24);
- Кеш БД: кеширует результаты запросов на уровне MySQL.
Что это даёт
- Снижение нагрузки: часть запросов не доходит до БД и PHP;
- Скорость: данные из Redis отдаются за микросекунды;
- Стабильность: пиковые нагрузки переносятся легче.
Оптимизация базы данных
База данных — часто главное узкое место. Медленные запросы тормозят всю CRM.
Ключевые настройки MySQL
- innodb_buffer_pool_size: 60–70% от доступной RAM. Кеширует данные и индексы в памяти;
- innodb_log_file_size: 256M–1G для интенсивной записи;
- max_connections: по числу одновременных пользователей;
- innodb_flush_log_at_trx_commit = 2: компромисс между скоростью и надёжностью.
Индексы
- Проверка: slow query log показывает медленные запросы;
- Индексы: на поля, по которым идёт поиск и сортировка;
- Обновление статистики: ANALYZE TABLE и OPTIMIZE TABLE периодически;
- Версия СУБД: MySQL 8.0 или MariaDB 10.5+ дают прирост.
💡 Важно
Для Битрикс24 база данных может достигать 3–10 ГБ. Стандартный innodb_buffer_pool_size = 128 МБ не покрывает и 5% данных. Нужно 60–70% RAM.
PHP-FPM и OPcache
OPcache
- opcache.enable = 1: обязательно;
- opcache.memory_consumption = 256: 256 МБ памяти;
- opcache.max_accelerated_files = 20000: для больших CRM;
- opcache.validate_timestamps = 0: в продакшене — максимальная скорость.
PHP-FPM
- pm.max_children: расчёт по памяти: (RAM для PHP) / (40–80 МБ);
- pm.start_servers: 5–10 для старта;
- pm.max_requests = 500: перезапуск воркеров для предотвращения утечек;
- memory_limit = 256M+: для Битрикс24 минимум 256 МБ.
Redis для CRM
Redis — быстрее файлового или БД-кеша. Перенос кеша в Redis снимает нагрузку с диска и ускоряет доступ к данным.
Что кешировать в Redis
- Сессии: пользовательские сессии вместо файлов;
- Кеш данных: часто запрашиваемые данные;
- Очереди: фоновые задачи (рассылки, импорт);
- Права доступа: кеш прав для Битрикс24.
Настройка
- Установка: redis-server + php-redis;
- Конфигурация: CACHE_STORE=redis, SESSION_DRIVER=redis;
- Память: выделить достаточный maxmemory;
- Персистентность: RDB или AOF для сохранения кеша.
Композитный кеш
Для Битрикс24 композитный кеш — один из главных инструментов ускорения. Он кеширует полностью собранную HTML-страницу и «приклеивает» только персональные динамические блоки.
Как работает
- HTML-страница: кешируется целиком;
- Динамические блоки: данные текущего пользователя, уведомления, счётчики;
- Отдача: страница отдаётся из кеша, динамика подгружается через AJAX;
- Хранение: файлы или memcached.
Что даёт
- Кратное ускорение: для списков задач, лент, справочников;
- Снижение нагрузки: PHP и MySQL не участвуют в отдаче страниц;
- Проверка: заголовок X-Bitrix-Composite: Nginx (file) показывает, что работает.
Диски
Диск — фундамент производительности. Никакие настройки не помогут, если диск медленный.
Что выбрать
- NVMe: 500 000+ IOPS. Для базы данных CRM — обязательно;
- RAID 10: отказоустойчивость и производительность;
- Отдельные диски: БД и файлы на разных NVMe;
- Запас: 30–50% свободно.
HDD и SATA SSD не подходят для активной CRM. Разница в IOPS — в сотни раз.
Порядок действий
Оптимизация — это последовательность. Каждый шаг даёт эффект, но важен порядок.
| Шаг | Действие | Эффект |
|---|---|---|
| 1 | OPcache | Быстрый, базовый |
| 2 | innodb_buffer_pool_size | Средний, важный |
| 3 | Redis для сессий и кеша | Высокий |
| 4 | PHP-FPM воркеры | Средний |
| 5 | Композитный кеш (Битрикс24) | Высокий |
| 6 | Индексы БД | Высокий |
| 7 | NVMe | Кратный |
💡 Важно
Начните с OPcache и настройки MySQL. Это даёт максимальный эффект при минимальных усилиях. Только потом переходите к более сложным настройкам.
Наши рекомендации
📌 Что вы получаете, заказывая оптимизацию CRM у нас
- OPcache — байт-код PHP в памяти
- MySQL — буферный пул 60–70% RAM
- Redis — сессии и кеш
- PHP-FPM — оптимальные воркеры
- Композитный кеш — для Битрикс24
- NVMe — быстрые диски
🔹 Оставьте заявку на оптимизацию CRM
Хотите быструю CRM? Оставьте заявку — поможем с настройкой.
📌 Итоговый вывод
Ускорение CRM — это комплекс мер, а не одна настройка.
Что нужно знать:
- Причины — медленная БД, неэффективный PHP, медленные диски, нет кеша
- Кеширование — OPcache, Redis, композитный кеш, кеш БД
- БД — innodb_buffer_pool_size 60–70% RAM, индексы, slow query log
- PHP — OPcache, PHP-FPM воркеры, memory_limit
- Redis — сессии, кеш, очереди
- Композитный кеш — для Битрикс24
- Диски — NVMe обязательны
- Порядок — OPcache → MySQL → Redis → PHP-FPM → композит → индексы → NVMe
Хотите быструю CRM? Закажите консультацию в Lead Hub.
Также рекомендуем: как выбрать хостинг для CRM, CRM на shared или VPS, хостинг для Битрикс24, безопасность CRM, ошибки при выборе, хостинг для CRM.