Что делать, если тормозят динамические списки и зависает интерфейс в 1С:Зарплата и управление персоналом 3.1

Системный администратор 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

После обновления конфигураций 1С:ЗУП 3.1 на новые релизы пользователи часто сталкиваются с резким падением производительности. Основные симптомы: динамические списки «тупят», наблюдаются фризы интерфейса по 10–25 секунд, при которых невозможно даже переключить закладку или открыть меню, а сервер 1С начинает потреблять аномальное количество оперативной памяти. Рассмотрим подробно, как провести комплексную диагностику и устранить эти проблемы.

Анализ фоновой активности и «Центра мониторинга»

Одной из скрытых причин внезапного замедления системы после обновления является работа встроенных сервисов телеметрии. Проанализируем регламентные задания в консоли администрирования или непосредственно в пользовательском режиме. Особое внимание следует уделить заданию ЦентрМониторингаСлужебный.ПриВыполненииСтандартныхПериодическихПроверокНаСервере.

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

  1. Перейдем в раздел АдминистрированиеИнтернет-поддержка и сервисы.
  2. Найдем группу Центр мониторинга.
  3. Отключим опцию Разрешить отправку статистики.

Также проверим другие регламентные задания, такие как «Обновление текстового индекса» и «Извлечение текста». Если база данных велика, полнотекстовый поиск может потреблять значительные ресурсы RAM.

Диагностика потребления памяти и утечек в rphost

Если сервер 1С «съедает» всю доступную память и уходит в своп (активное использование файла подкачки на жестком диске), это неизбежно приведет к фризам. Рассмотрим, как определить виновника через консоль сервера 1С:

Откроем консоль администрирования кластера 1С, перейдем в раздел Сеансы. Нас интересует колонка Память (текущая). Обратите внимание, что значения там указаны в байтах. Для удобства пересчитаем их в мегабайты (разделив на 1 048 576). Если мы видим, что несколько сеансов потребляют аномально много ресурсов, проанализируем, какие именно действия выполняют эти пользователи.

В случае обнаружения утечек памяти (когда объем занятой памяти процессом rphost постоянно растет и не возвращается операционной системе), рекомендуется настроить перезапуск рабочих процессов в параметрах кластера:

Настройка SQL Server: статистика и параллелизм

Динамические списки в 1С работают на основе сложных SQL-запросов. Если база данных была обновлена, структура таблиц могла измениться, что делает старую статистику SQL неактуальной. Проанализируем состояние MSSQL Server.

Первым делом выполним обновление статистики. Это заставит планировщик SQL Server перестроить планы запросов, что часто мгновенно лечит фризы в списках. Выполним следующий скрипт в SQL Management Studio:


EXEC sp_updatestats;

Посмотрим также на настройки параллелизма. Для баз 1С критически важен параметр Max Degree of Parallelism (MAXDOP). Если он установлен в значение 0, SQL Server может пытаться распараллелить даже простые запросы динамических списков, что вызывает взаимные блокировки. Рекомендуется установить MAXDOP = 1 (или 2/4 для высоконагруженных многопроцессорных систем). Также поднимем Cost Threshold for Parallelism до 50, чтобы исключить параллелизм для легких запросов.

Проверка сетевых задержек

Иногда фризы интерфейса связаны не с сервером, а с сетевым соединением между клиентом и сервером 1С или между сервером 1С и SQL. Проверим задержки с помощью команды ping с использованием больших пакетов данных, так как стандартные пакеты по 32 байта могут не показывать реальную картину при передаче тяжелых выборок данных.

Выполним в командной строке:


ping [Адрес_Сервера] -l 64000 -t

Если время отклика превышает 5 мс или наблюдаются потери пакетов (Timeouts), необходимо копать в сторону сетевого оборудования, настроек сетевых карт или драйверов. Фризы в 10–20 секунд часто являются следствием ожидания ответов от сетевого сокета.

Оптимизация самих динамических списков

Разберем ситуацию со стороны разработки. Если тормозит конкретный список (например, список документов «Начисления зарплаты»), проверим его настройки:

  1. Основная таблица: Убедимся, что в свойствах динамического списка указана Основная таблица. Без этого система не сможет использовать эффективную порционную выборку данных и будет пытаться вычитать все записи, что приведет к «туплению».
  2. Произвольные запросы и RLS: Проанализируем текст запроса. Если в нем присутствуют обращения через точку к реквизитам ссылочных полей (например, Ссылка.Подразделение.Наименование) и при этом включен RLS (ограничение прав на уровне записей), 1С будет генерировать чудовищные по сложности запросы к SQL.
  3. Условное оформление: Проверим, нет ли в списке настроек оформления, которые зависят от данных, не выведенных в колонки списка.

Очистка кэша и переиндексация

Не забудем про стандартные, но важные процедуры. Очистка кэша конфигурации на стороне сервера и клиента помогает избежать проблем с некорректным отображением форм «Такси» после обновления. Если платформа 1С также обновлялась, рекомендуется выполнить реструктуризацию таблиц через тестирование и исправление информационной базы. Это обновит физическую структуру таблиц на диске и может устранить специфические проблемы производительности, возникшие в результате перехода на новый релиз платформы.

Подводя итог, при возникновении фризов в ЗУП 3.1 после обновления, мы должны действовать комплексно: сначала исключить влияние «Центра мониторинга», затем проверить настройки SQL Server и сетевую стабильность, и только после этого приступать к профилированию конкретных запросов динамических списков.

← На главную