В практике администрирования серверов 1С часто встречается неприятная ситуация: сеансы пользователей зависают, а после стандартного перезапуска службы или удаления процессов rphost они «воскресают» снова. Это создает серьезные проблемы, особенно в крупных инфобазах с количеством пользователей от 100 до 400, где блокировки и некорректные соединения могут парализовать работу целых отделов. Рассмотрим подробно, почему это происходит и как правильно провести «генеральную уборку» сервера для устранения этой проблемы.
Проанализируем ситуацию: почему даже после перезапуска службы 1С сеансы появляются снова? Главный виновник этого процесса — механизм сохранения данных сеансов. В каталоге описания кластера (по умолчанию это путь C:\Program Files\1cv8\srvinfo\reg_1541) существует специальная папка с именем вида snccntx... (Session Context).
Рассмотрим подробнее механизм её работы:
rmngr) постоянно записывает состояние текущих сеансов в файлы внутри этой папки.Следовательно, простое «убийство» процесса rphost через диспетчер задач не поможет — rmngr просто создаст новый рабочий процесс и «подцепит» туда старые данные из кэша сеансов.
Часто системные администраторы совершают ошибку, очищая кэш только на клиентских машинах. Однако сервер 1С сам является «клиентом» по отношению к СУБД и хранит свои временные файлы. Разберем, где именно искать эти данные.
Если служба 1С запущена от имени специального пользователя (например, USR1CV8), то его временные файлы находятся по пути: C:\Users\USR1CV8\AppData\Local\1C\1Cv8.
В этой директории хранятся:
Важный момент: если служба работает под системной учетной записью (Local System), пути будут иными: C:\Windows\System32\config\systemprofile\AppData\Local\1C (или в папке SysWOW64 для 32-битных систем). Перед очисткой обязательно проверьте, под кем стартует dbgs и ragent.
Посмотрим на ситуацию со стороны стабильности системы. В версиях платформы 8.3.10 и выше стал активно применяться новый формат журнала регистрации — .lgd (на базе SQLite). При высокой нагрузке (300+ пользователей) этот формат часто становится узким местом.
Любая попытка пользователя войти в систему инициирует запись в журнал регистрации. Если файл 1Cv8.lgd заблокирован из-за большой очереди транзакций или поврежден, сеанс «зависает» на этапе авторизации, так и не открыв интерфейс.
Как изменить формат на более стабильный (текстовый):
1Cv8Log внутри папки вашей базы в srvinfo.1Cv8.lgd.1Cv8.lgf.Если «легкие» методы очистки не помогают, выполним последовательность действий, которую применили участники обсуждения для гарантированного результата. Проводить эти работы лучше в технологическое окно, когда все пользователи покинули систему.
Агент сервера 1С:Предприятия. Убедитесь через диспетчер задач, что процессы ragent, rmngr и все rphost исчезли.snccntx в каталогах всех информационных баз внутри reg_1541.temp в профиле пользователя, от которого запускается 1С.C:\Users\<Имя_Пользователя_Службы>\AppData\Local\1C\1Cv8.Чтобы проблема возникала реже, проанализируем настройки сетевого стека TCP/IP. Часто сеансы висят из-за того, что сервер считает соединение активным, хотя клиент давно отключился. Для решения этой задачи рекомендуется настроить параметры KeepAlive в реестре Windows на стороне сервера 1С и SQL.
Параметры находятся в ветке: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
KeepAliveTime — установите значение 1800000 (30 минут в миллисекундах).KeepAliveInterval — установите значение 1000 (1 секунда).Также полезно будет отключить протокол IPv6, если ваша сеть его не использует, так как это может вызывать задержки при общении между процессами rmngr и rphost.
Подведем итог: Проблема «воскресающих» сеансов — это следствие работы механизмов отказоустойчивости платформы 1С, которые пытаются восстановить даже ошибочные соединения. Единственным надежным способом очистки системы является полная остановка всех связанных служб и физическое удаление файлов состояния сеансов в папке snccntx.