Рассмотрим распространенную проблему администрирования 1С: пользователь завершает работу с системой, однако его сессия продолжает отображаться в консоли кластера серверов, а программная или аппаратная лицензия остается заблокированной. В результате системному администратору приходится вручную завершать неактивные соединения. Выясним основные причины такого поведения при работе тонкого и веб-клиента и разберем способы их устранения по шагам.
Проанализируем базовые настройки самой информационной базы. В платформе 1С:Предприятие 8.3 предусмотрены встроенные механизмы управления таймаутами неактивных пользователей.
Разберем по шагам, как настроить автоматическое завершение сеансов:
Важный нюанс: при слишком агрессивном уменьшении тайм-аутов в клиент-серверном режиме следует учитывать ограничения лицензирования. Если в базе одновременно работает более 10 пользователей, система может затребовать наличие КОРП-лицензии для принудительного управления спящими сеансами.
Если пользователи подключаются к базе через тонкий клиент по протоколу HTTP/HTTPS или используют веб-клиент в браузере, проблема может заключаться в некорректной передаче сигнала завершения соединения от веб-сервера (IIS или Apache) к серверу 1С.
Посмотрим, какие параметры необходимо проверить и настроить на веб-сервере:
DefaultAppPool. Выделим каждую базу в отдельный пул приложений, установим для него вариант No Managed Code («Без управляемого кода») и отключим параметр Load User Profile (значение False).default.vrd, расположенный в каталоге веб-публикации базы, и проверим атрибут session-timeout (или SessionTimeout). Настроим подходящий интервал завершения веб-сессий.Выясним еще одну частую причину, по которой процесс клиента не может завершиться корректно. При отправке документов на печать в операционной системе Windows запускается подсистема печати, в частности процесс SplWOW64.exe (в 64-разрядных системах при вызове 32-разрядных драйверов). Если этот процесс зависает или медленно выгружается, сессия 1С остается активной.
Также причиной могут быть нерагруженные внешней обработкой DLL-библиотеки или драйверы торгового оборудования. Проанализируем системные процессы на клиентских машинах и сервере терминалов:
SplWOW64.exe в диспетчере задач при закрытии 1С.SplWOW64.exe через системный реестр Windows, задав параметр SplWOW64TimeOut в ветке реестра системной печати.При кратковременных сетевых сбоях (например, при работе через Wi-Fi или VPN) сетевой стек рабочего процесса rphost может не получить пакеты разрыва связи (TCP FIN/RST). В результате сервер считает клиент активным и удерживает сеанс.
Рассмотрим решения на уровне кластера и ОС:
rphost.KeepAliveTime и KeepAliveInterval в ветке HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters), чтобы операционная система быстрее обнаруживала «мертвые» TCP-соединения и сбрасывала их.