Работа в файловом варианте 1С нередко сопровождается ситуациями, когда действия одного пользователя «подвешивают» всю систему. Когда кто-то запускает массовое проведение документов или выполняет тяжелую обработку, остальные участники процесса сталкиваются с ожиданием блокировок. Давайте разберем, как вычислить «виновника» и какие инструменты помогут нам проанализировать ситуацию.
Первым делом мы обращаемся к стандартному инструменту платформы — Журналу регистрации. В файловом варианте он хранится в папке с базой данных в подкаталоге 1Cv8Log. Файлы с расширением lgd содержат всю историю действий пользователей.
Для поиска проблемных операций выполним следующие шаги:
Если штатного интерфейса недостаточно, рекомендуем использовать внешние отчеты для обработки журнала регистрации, которые позволяют группировать данные по времени выполнения операций.
Если журнал регистрации не дает полной картины, переходим к более «тяжелой артиллерии» — Технологическому журналу. Это инструмент, который позволяет отслеживать события на уровне взаимодействия платформы с файловой системой и СУБД.
Чтобы настроить его работу, нам необходимо создать файл конфигурации logcfg.xml в папке с базой или в каталоге установки платформы. В файловой базе 1С технологический журнал пишется локально на стороне того клиента, который инициирует нагрузку. Чтобы централизованно собирать данные, рекомендуется настроить запись логов в общую сетевую папку.
Пример настройки logcfg.xml для отслеживания длительных событий:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\Logs" history="24">
<event>
<eq property="Name" value="DBMSSQL"/>
</event>
<property name="Duration"/>
<property name="SQL"/>
</log>
</config>
</config>
После сбора данных мы сможем проанализировать файлы логов и найти те самые «тяжелые» запросы, которые блокируют работу файловой системы (файловые блокировки) на длительное время.
Не всегда виноват «живой» пользователь. Часто причину стоит искать в фоновых процессах. Проверим файл jobs.dat, который находится по пути BP_3.0\1Cv8JobScheduler\jobs.dat. Этот файл отвечает за планирование заданий. Если в рабочее время запущены тяжелые обмены или пересчеты итогов, они могут приводить к точно таким же последствиям.
Если мы часто сталкиваемся с проблемой блокировок, значит, файловая база перестала справляться с текущей нагрузкой. Рассмотрим следующие варианты оптимизации:
1CD.Разбираясь в причинах тормозов, мы не только находим конкретного пользователя, но и проводим аудит производительности системы. Постоянный мониторинг через Журнал регистрации и использование Технологического журнала позволят нам оперативно реагировать на возникающие задержки и поддерживать работоспособность базы на должном уровне.