Ситуация, когда первый пользователь заходит в базу 1С в течение 10–15 минут, а все последующие — практически мгновенно, является классическим признаком проблем с инициализацией серверных ресурсов. Давайте разберем эту проблему подробно, проанализируем причины и найдем пути оптимизации работы системы.
Для начала проанализируем ситуацию: почему возникает такая разница во времени? Когда первый пользователь инициирует подключение, сервер 1С:Предприятия должен запустить рабочий процесс rphost.exe (если он не был запущен ранее или находился в «спящем» состоянии), прочитать метаданные конфигурации, загрузить необходимые программные модули в память и установить соединение с сервером СУБД. Если база большая (например, БП 3.0 или ЗУП 3.1), объем считываемых данных огромен.
Разберем по шагам, на каких этапах система может «буксовать» и что с этим делать.
В ходе обсуждения мы выяснили, что сервер 1С установлен на медленном HDD, в то время как сервер БД использует SSD. Это критическая ошибка конфигурации. Рассмотрим подробнее, почему это важно. В каталоге srvinfo (по умолчанию C:\Program Files\1cv8\srvinfo) хранятся:
При первом входе сервер 1С активно «шуршит» диском, вычитывая кэш. На HDD это происходит крайне медленно. Рекомендуем перенести каталог данных кластера на быстрый SSD-диск.
Для этого выполним следующие действия:
1C:Enterprise 8.3 Server Agent.srvinfo на новый SSD-диск.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3...) в параметре ImagePath изменим путь после ключа -d.Выясним причину, по которой «эффект быстрого входа» пропадает, когда все пользователи выходят из базы. Это связано с тем, что сервер 1С завершает рабочий процесс rphost для экономии ресурсов. При следующем входе всё начинается сначала.
Проанализируем параметры кластера 1С:
Мы предлагаем увеличить время жизни «спящего» процесса в консоли администрирования серверов 1С, чтобы процесс оставался в памяти даже после выхода последнего пользователя. Это позволит системе мгновенно подхватывать новые подключения.
Часто причиной 15-минутных задержек является попытка системы проверить цифровые подписи через интернет. Если сервер изолирован или имеет ограниченный доступ, он ждет тайм-аута ответа от серверов сертификации.
Рассмотрим вариант решения через настройки операционной системы:
Это позволит платформе не тратить время на бесконечные попытки достучаться до серверов Microsoft или удостоверяющих центров при проверке исполняемых файлов 1cv8.exe и rphost.exe.
Если 1С долго «висит» именно на заставке перед окном логина, проанализируем поиск лицензий. Платформа может последовательно опрашивать локальные ключи, сетевые ключи (по протоколам UDP/TCP), а затем искать программные лицензии.
Разберем, как ускорить этот процесс:
nallocm.ini (находится в каталоге conf) жестко пропишем адрес сервера лицензий, если используются аппаратные ключи HASP.Проанализируем сетевое взаимодействие между сервером 1С и сервером БД. По умолчанию Windows приоритезирует IPv6. Если 1С пытается связаться с SQL по IPv6, а тот настроен только на IPv4, возникнет задержка по таймауту.
Попробуем выполнить следующую команду в PowerShell для диагностики:
Test-NetConnection -ComputerName "Имя_Сервера_БД" -Port 1433
Если мы видим задержки или попытки обращения по адресу типа fe80::..., рекомендуем либо полностью отключить IPv6 в свойствах адаптера, либо настроить приоритет IPv4 через реестр.
При первом запуске создается множество временных файлов в профиле пользователя и в каталоге snccntx. Антивирус может блокировать каждый такой файл для проверки. Обязательно добавим в исключения антивируса:
C:\Program Files\1cv8).srvinfo).rmngr.exe, rphost.exe, ragent.exe.Мы рассмотрели основные причины долгого запуска. В большинстве случаев проблема решается переносом srvinfo на SSD и настройкой параметров спящих процессов в кластере 1С. Если это не помогает, следует копать в сторону проверки сертификатов (CRL) и оптимизации поиска лицензий.