Практическое руководство для администраторов коробочной версии Bitrix24
Введение: цена медленного портала
Открытие карточки сделки — 8 секунд. Поиск по CRM — 12 секунд. Загрузка чата — «подождите...»
Юридическая компания из Москвы, 340 сотрудников. Каждый менеджер терял по 45 минут в день на ожидание загрузки страниц. Умножаем: 340 × 45 минут × 22 рабочих дня = 5 610 человеко-часов в месяц. При средней ставке менеджера это сотни тысяч рублей — ежемесячно.
Причина? База данных MySQL весила 52 ГБ. После анализа выяснилось: более 35 ГБ занимали данные, которые можно было безопасно очистить. Журналы событий за 5 лет. Миллионы записей истории CRM. Гигабайты кэш-тегов. Записи звонков двухлетней давности.
Проверьте себя — симптомы «захламлённой» базы:
- Страницы грузятся дольше 3 секунд
- Поиск по CRM «думает» или выдаёт ошибки
- Резервное копирование занимает часы
- Сервер регулярно уходит в потолок по CPU
- Ошибка 502 Bad Gateway при пиковой нагрузке
Узнали два и более пункта? Эта статья для вас.
Методы в этой статье проверены на коробочных установках Bitrix24 и соответствуют рекомендациям документации 1С-Битрикс.
Почему база Bitrix24 разрастается
Bitrix24 — это не просто CRM. Это корпоративный портал, который хранит:
- Всю историю изменений в CRM (каждое редактирование карточки)
- Записи телефонных разговоров
- Сообщения в чатах и мессенджере
- Файлы на Диске
- Журналы всех системных событий
- Историю задач и бизнес-процессов
Со временем всё это накапливается. А штатные механизмы очистки либо отсутствуют, либо требуют ручной настройки.
Три главные причины проблемы:
1. Записи звонков. Каждый звонок через встроенную телефонию сохраняется как аудиофайл. При 50+ звонках в день за год это десятки гигабайт.
2. История CRM. Bitrix24 логирует каждое изменение: кто, когда, что изменил в сделке/лиде/контакте. Полезно для аудита, но за годы — миллионы записей.
3. Сообщения и файлы. Чаты, вложения к письмам, файлы в делах CRM — всё хранится бессрочно.
Что занимает место: разбираемся в структуре
В коробочной версии Bitrix24 основные «пожиратели» места:
| Категория | Что включает | Где смотреть |
|---|---|---|
| CRM | Сделки, лиды, контакты, история, дела | CRM → Настройки → Чем занято место |
| Файлы | Диск, вложения, записи звонков | Настройки → Производительность → Таблицы (b_file) |
| Системные логи | Журнал событий | Настройки → Инструменты → Журнал событий |
| Кэш | Теги кэша | Таблица b_cache_tag |
| Мессенджер | Сообщения чатов | Таблицы b_im_* |
Диагностика: находим проблемные области
Шаг 1: Оцените общий размер базы
SELECT
ROUND(SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024, 2) AS total_size_gb
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'ваша_база_данных';
Ориентиры:
- До 100 пользователей: 5-15 ГБ — норма
- 100-500 пользователей: 15-40 ГБ — норма
- Больше 50 ГБ без объективных причин — пора чистить
Шаг 2: Найдите самые большие таблицы
SELECT
TABLE_NAME,
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS size_mb,
TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'ваша_база_данных'
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC
LIMIT 20;
Шаг 3: Используйте встроенный инструмент очистки CRM
CRM → Ещё → Настройки → Настройки CRM → Другое → Чем занято место
Этот инструмент покажет:
- Размер таблиц в базе (сделки, лиды, контакты)
- Размер файлов (вложения, документы)
- Размер истории (все изменения)
- Размер дел (письма, звонки, встречи)
Очистка по категориям
Перед любыми операциями:
- Сделайте полный бэкап базы данных
- Работы выполняйте в нерабочее время
- Начните с тестовой копии
1. Журнал событий (b_event_log)
Что это: Логи авторизаций, изменений прав, системных событий.
Типичный размер проблемы: 1-15 ГБ
Диагностика:
SELECT
COUNT(*) as records,
MIN(TIMESTAMP_X) as oldest,
MAX(TIMESTAMP_X) as newest
FROM b_event_log;
Очистка через админку: Настройки → Инструменты → Журнал событий → Очистка журнала
Очистка через SQL (если таблица огромная):
DELETE FROM b_event_log
WHERE TIMESTAMP_X < DATE_SUB(NOW(), INTERVAL 30 DAY)
LIMIT 10000;
-- Повторяйте до нуля affected rows
Профилактика: Главный модуль → Журнал событий → «Сколько дней хранить события»: установите 14-30 дней.
2. Теги кэша (b_cache_tag)
Что это: Служебная таблица для инвалидации кэша.
Типичный размер: 100 МБ — 2 ГБ
Очистка (безопасно):
TRUNCATE TABLE b_cache_tag;
После этого: Настройки → Автокэширование → Очистка файлов кэша
3. История и дела CRM
Что это: Записи всех изменений, письма, звонки, встречи.
Важно: Это бизнес-данные. Удалять нужно осознанно!
Очистка через интерфейс: CRM → Настройки → Чем занято место → [выбрать тип] → Удалить дела и историю
Можно настроить фильтры:
- По дате создания (удалить старше N лет)
- По группе стадий (только завершённые/проигранные)
4. Записи телефонных разговоров
Проблема: Каждый звонок сохраняется как аудиофайл. За год активной работы — десятки ГБ.
Решение через настройки: Телефония → Настройки → Хранение записей разговоров — установите срок автоудаления (например, 90 дней).
Ручная очистка: Можно удалить записи звонков из дел CRM через инструмент «Чем занято место».
Совет: Перед удалением выгрузите важные записи или настройте автоматическую выгрузку на внешнее хранилище.
5. Файлы и Диск
Диагностика крупных файлов:
SELECT
ID, FILE_NAME, MODULE_ID,
ROUND(FILE_SIZE / 1024 / 1024, 2) as size_mb
FROM b_file
ORDER BY FILE_SIZE DESC
LIMIT 30;
Очистка:
- Через интерфейс: Диск → Очистка места (для облачной и коробочной)
- Корзина: не забудьте очистить корзину после удаления файлов
Нельзя удалять записи из b_file напрямую через SQL — это нарушит связи с CRM и Диском.
6. Сообщения мессенджера (при необходимости)
Таблицы: b_im_message, b_im_message_param и связанные.
Важно: Это переписка сотрудников. Удаление требует согласования с руководством и может нарушать требования хранения корпоративных данных.
Если решили чистить (только диагностика!):
SELECT COUNT(*) as messages FROM b_im_message;
SELECT MIN(DATE_CREATE), MAX(DATE_CREATE) FROM b_im_message;
После очистки
Оптимизация таблиц (освобождает дисковое пространство):
OPTIMIZE TABLE b_event_log;
OPTIMIZE TABLE b_cache_tag;
Обновление статистики индексов:
ANALYZE TABLE b_event_log;
ANALYZE TABLE b_file;
Проверьте:
- Новый размер базы
- Скорость загрузки CRM, задач, чатов
- Работу поиска
- Отправку писем и звонки
Когда лучше обратиться к специалисту
Не рискуйте самостоятельно, если:
- База больше 50 ГБ
- Нет актуального бэкапа
- Есть кастомные модули и интеграции
- Нужна очистка без простоя (online)
- После пробной очистки появились ошибки
Профилактика: чтобы не повторять
| Что настроить | Где | Рекомендация |
|---|---|---|
| Журнал событий | Главный модуль | 14-30 дней |
| Записи звонков | Телефония → Настройки | 60-90 дней |
| Очистка CRM | CRM → Настройки | Регулярно удалять завершённые лиды старше 2 лет |
| Корзина | Диск, CRM | Очищать раз в месяц |
| Мониторинг | Zabbix / своё решение | Алерт при размере БД > порога |
Правило: Раз в квартал проверяйте размер базы и запускайте очистку CRM. 30 минут профилактики экономят дни простоя.
Резюме
База Bitrix24 растёт — это нормально. Игнорировать рост годами — нет.
После очистки вы получите:
- Ускорение загрузки страниц в 2-5 раз
- Быстрые бэкапы
- Освобождение дискового пространства
- Стабильную работу без 502 ошибок
И всё это — за один выходной день.
Скачайте готовый набор для диагностики
«Набор администратора Bitrix24: SQL-запросы для аудита + таблица очистки»
Внутри:
- Все запросы из статьи — копируй и вставляй
- Таблица: что можно чистить и как (с уровнями риска)
- Чек-лист до и после очистки
- Шаблон отчёта для руководства
- Настройки профилактики
Сэкономьте 3 часа работы специалиста!
