При переходе на платформу 1С:Предприятие версии 8.3.18 многие специалисты столкнулись с неприятной особенностью: тонкий клиент внезапно разрывает соединение, если пользователь не проявляет активности в течение нескольких минут. При этом на экране появляется системное сообщение: «Неверные или отсутствующие параметры соединения с информационной базой». Интересно, что при работе через веб-клиент или толстый клиент подобная проблема зачастую не проявляется.
В этой статье мы подробно проанализируем причины возникновения данной ошибки, разберем влияние нового механизма отладки и рассмотрим пошаговые инструкции по устранению этой неисправности на стороне сервера и клиента.
Основная причина кроется в архитектурных изменениях платформы. Начиная с версии 8.3.18, компания «1С» активно внедрила и сделала приоритетным новый механизм отладки по протоколу HTTP. В ранних сборках этой ветки (особенно в 8.3.18.1208) данный механизм содержал критические ошибки.
Рассмотрим подробнее, как это влияет на стабильность соединения:
rphost начинает некорректно управлять памятью. Это приводит к переполнению выделенных ресурсов и аварийному завершению процесса. Когда rphost падает, все подключенные к нему тонкие клиенты моментально теряют связь.Проанализируем самый эффективный способ «быстрого реагирования», который помогает в большинстве случаев без немедленного обновления всей платформы. Нам необходимо полностью деактивировать режим отладки в параметрах запуска службы сервера 1С.
Разберем процедуру по шагам:
services.msc.regedit) и перейдем к ветке, где зарегистрирована служба. Обычно это:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server AgentImagePath. В строке запуска часто присутствует флаг -debug.-http.
"C:\Program Files\1cv8\8.3.18.1208\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1590 -d "C:\Program Files\1cv8\srvinfo"
Важный момент: Просто выключить отладку в настройках конкретной информационной базы через Конфигуратор часто бывает недостаточно, так как сам инициализированный механизм в rphost продолжает работать и потреблять ресурсы.
Как мы выяснили из опыта эксплуатации, сборка 8.3.18.1208 признана одной из самых проблемных. Если есть возможность, крайне рекомендуется выполнить обновление. Однако стоит учитывать, что переход на 8.3.18.1289, который часто советовали на форумах, не всегда полностью исправляет проблему с HTTP-протоколом.
Проанализируем рекомендации по выбору версии:
После смены настроек отладки или обновления версии платформы обязательно нужно выполнить «генеральную уборку». Старые записи в кэше могут содержать некорректные идентификаторы сессий, что спровоцирует повторение ошибки.
Посмотрим, что именно нужно очистить:
%AppData%\1C\1cv8\ и %LocalAppData%\1C\1cv8\.C:\Program Files\1cv8\srvinfo\reg_1541\) и найти там папку snccntxt.snccntxt при остановленной службе сервера 1С. Это сбросит все зависшие контексты соединений, которые могли вызывать конфликт параметров.Если ваши тонкие клиенты подключаются не напрямую к кластеру, а через веб-сервер, проанализируем файл default.vrd. Ошибка «Неверные параметры соединения» может возникать из-за того, что веб-сервер разрывает сессию раньше, чем платформа 1С.
Найдем в файле default.vrd раздел point и проверим параметры сессии. Попробуем явно указать время жизни сеанса:
<point name="BaseName"
alias="Base"
ib="Srvr="ServerName";Ref="BaseName";"
sessionMaxAge="3600">
</point>
Здесь параметр sessionMaxAge устанавливает время жизни сессии в секундах. Увеличение этого значения поможет избежать разрывов при кратковременном бездействии пользователя.
В некоторых случаях проблема кроется в аппаратной части. Технология TCP Chimney Offload позволяет переложить часть работы по обработке сетевых пакетов с процессора на сетевую карту. В версии 8.3.18 это иногда приводит к тому, что пакеты «сердцебиения» (keep-alive) между клиентом и сервером обрабатываются некорректно.
Попробуем отключить эту функцию на сервере. Запустим командную строку от имени администратора и выполним:
netsh int tcp set global chimney=disabled
После выполнения этой команды рекомендуется перезагрузить сервер. Это сделает сетевое взаимодействие более предсказуемым для протоколов 1С.
Если ошибка возникает в момент, когда компьютер пользователя «просыпается» после заставки или отключения монитора, это может быть связано с некорректной отрисовкой интерфейса тонкого клиента. Проанализируем возможность отключения аппаратного ускорения графики.
Попробуем запустить тонкий клиент с параметром /UseHwInst 0. Это можно сделать в настройках запуска информационной базы в окне списка баз (поле «Дополнительные параметры запуска»). Это заставит 1С использовать программный рендеринг, что исключит сбои сетевого стека, вызванные конфликтами с видеодрайвером в моменты простоя.
Подводя итог, отметим, что наиболее эффективным комплексом мер является отключение HTTP-отладки в реестре в сочетании с очисткой серверного кэша snccntxt. Эти действия позволяют стабилизировать работу на платформе 8.3.18 без необходимости экстренного обновления всей системы.