Почему зависает 1С:Предприятие 8.3 при запуске через веб-клиент или терминальный сервер и как это исправить?

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

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

Анализ причин зависания подключений к кластеру

Проанализируем архитектуру взаимодействия клиентских приложений с сервером 1С. Основными источниками проблем при старте сеансов являются:

  1. Зависание сеансовых контекстов в каталоге кластера: В каталоге данных кластера серверов (srvinfo/reg_1541) создаются служебные папки вида snccntx<GUID базы>, содержащие файлы временных состояний и контекста сеансов. При некорректном завершении сеансов или сбоях сети файлы блокировок не удаляются, из-за чего последующие вызовы веб-расширения или терминального клиента зависают в ожидании освобождения системных ресурсов.
  2. Блокировки нового формата журнала регистрации (SQLite): При использовании формата 1Cv8.lgd запись событий авторизации может вызывать взаимоблокировки в базе SQLite, особенно при интенсивном параллельном входе пользователей.
  3. Ошибки управления памятью в отдельных релизах: В ряде сборок 64-разрядного сервера 1С:Предприятие (включая ранние сборки ветки 8.3.9) присутствуют внутренние утечки дескрипторов, из-за чего рабочий процесс rphost перестает принимать новые входящие вызовы.
  4. Блокировка служебных файлов сторонним ПО: Антивирусное ПО или индексаторы операционной системы могут временно захватывать служебные файлы в каталоге srvinfo, вызывая взаимную блокировку процессов ragent, rmngr и rphost.

Способ 1. Очистка сеансового кэша без потери настроек кластера

Полная очистка папки reg_1541 приводит к необходимости заново регистрировать базы данных и настраивать кластер. Чтобы выполнить безопасную очистку кэша сеансов, выполним следующие шаги:

  1. Остановим службу Агент сервера 1С:Предприятия (1C:Enterprise Server Agent) через оснастку services.msc.
  2. Проверим диспетчер задач и убедимся, что процессы ragent.exe, rmngr.exe и rphost.exe полностью завершены. При необходимости завершим их вручную.
  3. Перейдем в служебный каталог данных сервера: C:\Program Files\1cv8\srvinfo\reg_1541\.
  4. Найдем и удалим подкаталоги, имена которых начинаются с snccntx (например, snccntx3f8a...). Главный файл конфигурации кластера 1CV8Clst.lst и файлы описания информационных баз трогать не нужно.
  5. Запустим службу агента сервера 1С.

Способ 2. Перевод журнала регистрации в текстовый формат (.lgf)

Если зависания вызваны блокировками однофайлового журнала регистрации на базе SQLite (1Cv8.lgd), переведем журнал в классический текстовый формат:

  1. Остановим службу сервера 1С:Предприятия.
  2. Перейдем в каталог журнала регистрации нужной информационной базы: C:\Program Files\1cv8\srvinfo\reg_1541\<GUID_базы>\1Cv8Log\.
  3. Переместим файл 1Cv8.lgd в архивную папку вне каталога srvinfo (или переименуем его).
  4. Создадим в каталоге 1Cv8Log пустой текстовый файл с именем 1Cv8.lgf.
  5. Запустим службу сервера 1С. Платформа обнаружит файл 1Cv8.lgf и переключится на раздельное хранение логов по периодам, что снимет блокировки при авторизации сеансов.

Способ 3. Настройка параметров кластера и перезапуска процессов

Для предотвращения накопления утечек памяти и зависания процессов rphost настроим автоматическую переработку рабочих процессов через консоль администрирования серверов 1С:

  1. Откроем утилиту Администрирование серверов 1С:Предприятия.
  2. Раскроем дерево нужного кластера и откроем его свойства.
  3. Установим параметр Интервал перезапуска рабочих процессов в значение 86400 секунд (перезапуск раз в сутки).
  4. Зададим параметры Допустимый объем памяти и Интервал превышения допустимого объема памяти в соответствии с доступной оперативной памятью сервера для плавного перезапуска рабочих процессов без разрыва активных сессий пользователей.
  5. Применим изменения.

Способ 4. Корректировка окружения и разрядности платформы

Разберем дополнительные системные настройки, исключающие сбои подключения:

  1. Исключения антивируса: Добавим каталог C:\Program Files\1cv8\srvinfo\, а также папку временных файлов учетной записи, под которой запущена служба usr1cv8, в список исключений сканирования антивирусного ПО.
  2. Обновление или смена разрядности: Если сбой проявляется на конкретной ранней сборке 64-разрядного сервера (например, 8.3.9.1850), выполним обновление платформы на актуальный стабильный релиз (8.3.10 и старше) либо временно переведем службу сервера на 32-разрядную версию той же сборки, в которой управление памятью работает стабильнее при небольших нагрузках.
  3. Проверка пула IIS: При публикации базы на веб-сервере IIS проверим параметр Разрешить 32-разрядные приложения (Enable 32-Bit Applications) в свойствах пула приложений — он должен строго соответствовать разрядности установленных модулей расширения веб-сервера 1С (wsisapi.dll).
← На главную