Жалобы пользователей на то, что «база 1С виснет», — одна из самых распространенных проблем при сопровождении информационных систем. Для успешного устранения неполадок необходимо действовать по четкому алгоритму: от сбора симптомов до анализа системных логов. Рассмотрим пошагово, как правильно организовать поиск причин падения производительности.
Первым шагом необходимо конкретизировать, что именно понимается под «зависанием». Выясним у пользователей детали проявления проблемы:
Посмотрим на архитектуру информационного комплекса, так как методы диагностики принципиально отличаются для файлового и клиент-серверного вариантов:
Файловый режим: Проверим, где физически размещен файл 1Cv8.1CD (локально или в сетевой папке), а также его размер. При превышении объема 4–10 ГБ или одновременной работе более 5–10 пользователей файловая база начинает зависать из-за блокировки таблиц целиком при записи.
Серверный режим: Разберем параметры инфраструктуры:
TempDB).Если неполадку удается воспроизвести локально или на тестовом контуре, разберем самый эффективный метод поиска узких мест в коде — встроенный инструмент отладки.
Для замера выполним следующие действия:
Проанализируем строки с максимальным суммарным временем выполнения и количеством вызовов. Чаще всего зависания вызваны циклами с запросами внутри, обращениями к виртуальным таблицам без указания параметров или сбоями при проверке прав RLS.
Когда проблема возникает хаотично на рабочей сервере и ее не удается воспроизвести в отладчике, задействуем Технологический журнал 1С (ТЖ). Настроим журнал на сбор следующих событий:
CALL / SCALL: Регистрируют длительные серверные вызовы с указанием контекста исполнения.DBMSSQL / DBPOSTGRS: Фиксируют исполнение SQL-запросов к базе данных, превышающих заданный порог по времени.TLOCK и TDEADLOCK: Помогают обнаружить тайм-ауты на ожидание блокировок и взаимоблокировки при параллельной работе пользователей.EXCP: Регистрирует исключительные ситуации и аварийные завершения рабочих процессов rphost.Для завершения диагностики проверим аппаратные узкие места сервера и настройки программы:
rphost. При наличии утечек памяти настроим лимиты и автоматический перезапуск процессов в консоли кластера 1С.rphost / rmngr добавлены в исключения антивирусного ПО.