К статье
Практический материал

Администрирование · 11 мин

Как ускорить работу журнала регистрации 1С

Конкретные способы ускорить журнал регистрации 1С: настройка уровней событий, сокращение периода хранения, выгрузка в новый формат, обслуживание SQL-базы.

Журнал регистрации в 1С фиксирует практически все действия пользователей и системы: входы, изменение данных, ошибки, работу фоновых заданий. В активно используемой базе он разрастается до сотен тысяч и миллионов записей, и каждое открытие списка событий начинает занимать десятки секунд, а иногда минуты. Проблема усугубляется тем, что запись в журнал идёт постоянно — с каждым документом, проведённым пользователем.

Медленная работа журнала регистрации почти всегда имеет одну из четырёх причин: слишком подробный уровень регистрации событий, накопленный многолетний объём данных, устаревший формат хранения файла 1Cv8.lgd или проблемы на стороне СУБД и дисковой подсистемы. Все четыре причины устраняются штатными средствами, без сторонних программ.

Ниже описан порядок действий от простого к сложному: сначала настройки, которые можно выполнить за несколько минут без остановки работы, затем операции, требующие монопольного доступа или обслуживания сервера. Перед любыми действиями с журналом сделайте резервную копию базы или хотя бы скопируйте каталог журнала регистрации.

Определите, что именно тормозит: запись или чтение журнала

Прежде чем что-то менять, полезно понять характер проблемы. Если медленно открывается сам журнал в режиме «Предприятие» или конфигураторе — проблема в объёме хранимых данных и скорости чтения. Если подтормаживает вся база при записи документов и проведении — подозрение падает на запись в журнал: слишком подробный уровень регистрации заставляет платформу писать десятки событий на каждое действие пользователя.

Простая проверка: откройте журнал регистрации без отборов и замерьте время до появления списка. Затем установите отбор за последний час. Если отбор за короткий период работает быстро, а полный список «виснет», проблема именно в объёме журнала, и основные усилия нужно направить на его сокращение. Если медленно даже за час — проверяйте дисковую подсистему и состояние файла журнала.

Журнал открывается минутамиБольшой объём данных

Проверьте размер файла 1Cv8.lgd или 1Cv8.lgd в каталоге базы и количество лет хранения

Тормозит запись документовИзбыточный уровень регистрации

Проверьте настройку уровней событий в конфигураторе

Медленно даже за короткий периодПроблема диска или СУБД

Проверьте загрузку дисковой подсистемы и обслуживание индексов

Файл журнала старого форматаФормат LGF устарел

Проверьте наличие файла 1Cv8.lgf — его стоит конвертировать в SQLite

Снизьте уровень регистрируемых событий

Самая частая причина раздувания журнала — включённая регистрация всех событий, включая информационные сообщения и события доступа к данным. Каждое чтение, каждый вызов процедуры в этом режиме порождает запись. На базе с десятками активных пользователей журнал растёт на сотни тысяч записей в день, и ни один диск с таким потоком долго не справляется.

Настройка выполняется в конфигураторе: меню «Администрирование» → «Настройка журнала регистрации». Для рабочей базы обычно достаточно уровней «Ошибка» и «Предупреждение». Уровень «Информация» включайте точечно — например, на время расследования инцидента или отладки обмена данными, и не забывайте вернуть настройку обратно. Регистрацию событий «Доступ» и «Отказ в доступе» включайте только при реальной необходимости аудита: они генерируют огромный объём записей.

Как настроить уровни регистрации
  1. 1
    Откройте конфигуратор под учётной записью с правами администратора
  2. 2
    Перейдите: Администрирование → Настройка журнала регистрации
  3. 3
    Снимите флажки с уровней «Информация» и «Примечания», оставьте «Ошибки» и «Предупреждения»
  4. 4
    Отключите регистрацию событий доступа к данным, если аудит не требуется
  5. 5
    Примените настройки и понаблюдайте за скоростью записи документов в течение дня

Важно понимать: снижение уровня регистрации ускоряет запись и замедляет рост журнала, но не ускоряет чтение уже накопленных данных. Для существующего объёма нужны меры из следующих разделов.

Сократите период хранения и уменьшите журнал

Вторая мера — ограничить глубину хранения истории. В том же диалоге настройки журнала регистрации доступно разделение журнала по периодам (день, неделя, месяц, год) и настройка сокращения. Для большинства баз достаточно хранить историю от нескольких месяцев до года — более старые события редко востребованы, а при необходимости их можно сохранить отдельной выгрузкой перед удалением.

Сокращение журнала выполняется через конфигуратор: «Администрирование» → «Настройка журнала регистрации» → кнопка «Сократить». Укажите дату, до которой удалить события, и при необходимости сохраните удаляемую часть в файл. Операция требует монопольного доступа к базе и на больших журналах может занять значительное время — планируйте её на нерабочие часы.

Переведите журнал в новый формат хранения

Старые базы, созданные на ранних версиях платформы, хранят журнал в текстовом формате 1Cv8.lgf. Этот формат плохо масштабируется: чтение и поиск по большому файлу выполняются последовательно, и с ростом объёма журнал неизбежно тормозит. Современный формат — база SQLite в файле 1Cv8.lgd — поддерживает индексы и работает с большими объёмами заметно быстрее.

Конвертация выполняется через выгрузку журнала в новый формат: в конфигураторе откройте настройку журнала регистрации и используйте команду выгрузки, либо воспользуйтесь обработкой конвертации при обновлении платформы. Операция также требует монопольного доступа и времени, пропорционального объёму журнала. После конвертации старый файл можно удалить, предварительно сохранив его копию.

Оптимизируйте работу с журналом в клиент-серверном варианте

В клиент-серверной архитектуре журнал регистрации хранится в каталоге служебных файлов информационной базы на сервере 1С, а не в СУБД. Это значит, что на скорость журнала влияют диски сервера приложений, а не SQL-сервера. Частая ошибка — пытаться «лечить» медленный журнал оптимизацией SQL-базы, тогда как узкое место — медленный диск, на котором лежит каталог reg_1541 (или аналогичный) с файлами журнала.

Практические меры: разместите каталог журнала на быстром диске (SSD), убедитесь, что антивирус исключает каталоги сервера 1С из проверки в реальном времени, и следите за свободным местом — при переполнении диска запись в журнал начинает блокировать работу сеансов. Проверка антивирусных исключений особенно актуальна: сканирование каждой записи журнала антивирусом способно замедлить базу в несколько раз.

Если после всех настроек журнал всё равно открывается медленно, попробуйте просматривать его не интерактивно, а выгрузкой за нужный период в файл с последующим анализом. Для расследования разового инцидента это часто быстрее, чем листать отфильтрованный список в клиенте.
ПЗ
Практическое замечание

Настройте регулярное обслуживание, чтобы проблема не вернулась

Разовая чистка решает проблему на месяцы, но без регламентного обслуживания журнал вырастет снова. Разумный минимум: автоматическое сокращение журнала по расписанию (например, ежемесячно хранить не более установленной глубины), контроль размера файлов журнала и периодическая проверка уровней регистрации — их нередко включают «временно» для отладки и забывают выключить.

Для автоматизации удобно использовать сценарии администрирования: утилита командной строки конфигуратора позволяет выполнять сокращение журнала в пакетном режиме по расписанию через планировщик заданий операционной системы. Это снимает зависимость от дисциплины администратора и гарантирует, что журнал не вырастет до критического размера.

Типичные ошибки
01
Удаление файлов журнала вручную из каталога базы — приводит к ошибкам открытия журнала и потере истории
02
Постоянно включённый уровень «Информация» — журнал растёт быстрее, чем успевает сокращаться
03
Сокращение журнала без резервной копии — старая история теряется безвозвратно
04
Игнорирование антивируса — проверка каталога журнала в реальном времени сводит на нет все оптимизации
05
Попытка оптимизировать SQL-базу, когда журнал хранится отдельными файлами на сервере приложений

Проверьте результат после оптимизации

После выполнения мер оцените эффект по тем же признакам, что диагностировали в начале. Откройте журнал без отборов и с отбором за период, сравните время отклика. Понаблюдайте за скоростью проведения документов в часы пиковой нагрузки — именно там проявлялось влияние записи в журнал.

Контрольные точки

Как проверить результат

Время открытия журнала без отборов
Норма

Список появляется за несколько секунд

Тревожный признак

Ожидание десятки секунд и дольше

Скорость проведения документов в часы пик
Норма

Нет заметной разницы с непиковым временем

Тревожный признак

Проведение заметно замедляется при росте числа пользователей

Размер файлов журнала через месяц
Норма

Рост соответствует выбранному уровню регистрации

Тревожный признак

Журнал снова растёт сотнями тысяч записей в день

Настройки уровней событий
Норма

Включены только «Ошибки» и «Предупреждения»

Тревожный признак

Кто-то снова включил «Информацию» для отладки

Если после всех мер журнал остаётся медленным, проблема, скорее всего, вне журнала: перегруженный сервер, медленная дисковая подсистема или фрагментированная инфраструктура. В этом случае имеет смысл провести общий аудит производительности сервера 1С и СУБД.

Итог

Что важно запомнить

Ускорение журнала регистрации — это сочетание трёх мер: разумный уровень регистрируемых событий, регулярное сокращение истории и современный формат хранения. Дополнительно проверьте размещение файлов журнала на быстром диске и исключения антивируса. Все операции сокращения выполняйте с резервной копией и в монопольном режиме.

Частые вопросы

Можно ли вообще отключить журнал регистрации?

Полностью отключить журнал штатными средствами нельзя — платформа всегда фиксирует как минимум критические события. Можно лишь снизить детализацию до минимального уровня. Это осознанное ограничение: журнал нужен для диагностики ошибок и расследования инцидентов, и его отсутствие создало бы больше проблем, чем решило.

Безопасно ли сокращать журнал на рабочей базе?

Безопасно при соблюдении двух условий: операция выполняется в монопольном режиме (пользователи не работают) и перед сокращением сделана резервная копия или сохранена выгрузка удаляемой части. Само по себе сокращение не влияет на данные документов и справочников — удаляется только история событий.

Почему журнал быстро растёт, хотя пользователей немного?

Частая причина — фоновые и регламентные задания: обмены данными, синхронизации, обработчики обновления. Каждое задание при подробном уровне регистрации пишет события начала и завершения, а при ошибках — ещё и стеки вызовов. Проверьте журнал по отбору «Фоновое задание» — нередко именно они дают большую часть объёма.

Чем отличается файл 1Cv8.lgf от 1Cv8.lgd?

Первый — устаревший текстовый формат журнала, второй — современный формат на базе SQLite с индексами. Если в каталоге базы лежит файл с расширением LGF, журнал работает в старом режиме, и конвертация в новый формат обычно даёт заметное ускорение чтения и поиска по событиям.

Влияет ли журнал регистрации на скорость всей базы?

Да, при подробном уровне регистрации. Каждая запись в журнал — это дисковая операция, выполняемая синхронно с действиями пользователя. На базе с интенсивной работой избыточная регистрация способна заметно замедлить проведение документов и запись объектов. Снижение уровня до «Ошибок» и «Предупреждений» обычно снимает эту нагрузку.

Как посмотреть журнал, если он открывается слишком долго?

Используйте выгрузку журнала за узкий период в файл через конфигуратор, а затем анализируйте выгрузку отдельно. Альтернатива — программное чтение журнала средствами встроенного языка с жёсткими отборами по дате и типу события. Оба способа позволяют работать с большим журналом, не дожидаясь загрузки полного списка.