При администрировании сервера 1С:Предприятие 8.3 системные администраторы часто сталкиваются с ситуацией, когда кластер создает дополнительный рабочий процесс rphost, несмотря на установленные ограничения (например, большое допустимое количество соединений и одна информационная база на процесс). Разберем архитектурные особенности управления процессами в 1С 8.3 и выясним, как минимизировать количество активных процессов.
В отличие от более ранней версии 1С 8.2, где администратор мог жестко задать фиксированное количество рабочих процессов вручную, в платформе 1С 8.3 концепция была кардинально изменена. Менеджер кластера rmngr самостоятельно регулирует запуск, балансировку и завершение процессов rphost на основе внутренних алгоритмов и текущей нагрузки.
Жестко зафиксировать работу ровно в один процесс специальной опцией невозможно, однако мы можем проанализировать причины, по которым платформа принимает решение о запуске второго процесса, и устранить провоцирующие факторы.
Выясним основные причины, приводящие к появлению дополнительных процессов rphost:
Интервал перезапуска, Допустимый объем памяти, Интервал превышения допустимого объема памяти), менеджер кластера запускает новый процесс для плавной смены, а старый помечает как устаревший. До момента выхода всех сеансов со старого процесса в системе одновременно работают оба rphost.Разберем по шагам, какие параметры в консоли администрирования серверов 1С:Предприятия необходимо скорректировать для стабильной работы в рамках одного процесса.
0, если сервер работает в одиночном режиме без резервирования.0, если ротация процессов не требуется.0 (либо задаем гарантированно недостижимые значения), чтобы платформа не инициировала преждевременный перезапуск rphost.ragent), удалим временные файлы и сеансовые данные из каталога srvinfo (файлы журналов и кэш сеансов) и запустим службу заново.Проанализируем ситуацию, когда второй процесс уже запущен и сеансы распределились. Платформа 1С 8.3 не уничтожает старый рабочий процесс мгновенно. Он помечается как устаревший и ожидает закрытия всех активных соединений и вызовов (платформа ожидает порядка 20 минут неактивности).
Если в базе присутствуют зависшие «спящие» сеансы или незавершенные фоновые задания, они будут удерживать второй rphost в памяти. Для его освобождения необходимо завершить неактивные сеансы через консоль кластера либо дождаться их автоматического таймаута.