Размещение сервера 1С:Предприятия, СУБД MS SQL Server и терминального сервера на одной физической машине часто приводит к резкой деградации производительности. Ситуация усугубляется при использовании тяжелых типовых конфигураций, таких как УПП 1.3, особенно после попыток внедрения ограничений на уровне записей (RLS) или применения динамических обновлений. Разберем по шагам комплекс мер для локализации узких мест и восстановления нормальной работы системы.
Для того чтобы точно определить источник задержек, необходимо исключить догадки и провести системный мониторинг. Проанализируем состояние ключевых подсистем сервера:
Когда на одном сервере работают СУБД, кластер 1С и сеансы пользователей, СУБД по умолчанию может забрать все доступные ресурсы, вызвав жесткую нехватку памяти для процессов rphost и терминальных сессий. Настроим параметры экземпляра MS SQL Server:
Max Degree of Parallelism в значение 1. Для работы с базами 1С это исключает взаимные блокировки потоков при выполнении сложных запросов.TempDB на несколько файлов данных одинакового размера (по количеству физических ядер процессора) и установим фиксированный шаг автоувеличения в мегабайтах.Auto Close и Auto Shrink отключены (False), а также активирована быстрая инициализация файлов данных (Instant File Initialization).Долгая загрузка конфигурации и внезапные зависания часто вызываются накоплением поврежденных данных в таблицах метаданных после динамических обновлений конфигурации в режиме предприятия. Проверим наличие таких записей в базе данных SQL:
SELECT * FROM _config WHERE filename LIKE '%dyn%';
Если запрос возвращает строки, это свидетельствует о наличии динамических версий. Для полного восстановления структуры метаданных и очистки кэша выполним следующие действия:
Агент сервера 1С:Предприятия..cf и выполним полную загрузку конфигурации через меню Конфигурация — Загрузить конфигурацию из файла..dt и загрузки в чистую базу MS SQL.Механизм ограничений прав на уровне записей (RLS) в УПП использует специальные служебные регистры сведений для хранения прав доступа. Простое отключение прав в ролях или общих настройках может не остановить обращения типового кода к переполненным или некорректно заполненным регистрам прав. Рассмотрим порядок полного отключения:
Для стабилизации совмещенной инфраструктуры применим дополнительные системные настройки:
srvinfo), файлы баз данных .mdf и .ldf, временные папки пользователей и процессы rphost.exe, rmngr.exe, ragent.exe, sqlservr.exe.rphost или зададим ограничение по допустимому объему памяти для предотвращения утечек при выполнении объемных отчетов.