Настройка автоматического перезапуска рабочих процессов rphost по расписанию
- Деградация производительности кластера 1С к концу рабочей недели без видимых ошибок в логах.
- Фрагментация оперативной памяти и накопление временных кэшей внутри процессов
rphost. - Потребность в регулярном превентивном обновлении рабочих процессов без разрыва пользовательских сессий.
1. Принцип штатного перезапуска процессов 1С
Кластер серверов 1С умеет выполнять циклический перезапуск рабочих процессов rphost в фоновом режиме. При наступлении заданного интервала:
- Менеджер кластера запускает новый чистый процесс
rphost. - Все новые вызовы процедур и сеансы перенаправляются на новый процесс.
- Старый процесс переходит в статус Истекает и ожидает завершения текущих фоновых и пользовательских транзакций, после чего плавно выгружается из памяти.
2. Настройка параметров перезапуска в консоли кластера
В свойствах кластера серверов укажите параметры:
- Интервал перезапуска (Restart interval):
86400сек (перезапуск раз в 24 часа) или43200сек (каждые 12 часов). - Допустимое отклонение при перезапуске:
1800сек (рандомизирует перезапуск, чтобы разные процессы не перезапускались одновременно). - Время принудительного завершения процессов (Kill timeout):
300сек (максимальное время ожидания завершения фоновых потоков перед жестким снятием старого rphost).
3. Конфигурация через RAC
# Настройка автоматического перезапуска раз в сутки (86400 сек) с отклонением 30 минут
rac cluster update --cluster=<CLUSTER_ID> \
--expiration-timeout=86400 \
--expiration-timeout-variation=1800 \
--force-termination-timeout=300 \
localhost:15454. Настройка нескольких рабочих процессов на один хост
Для эффективного перезапуска настройте в свойствах рабочего сервера запуск нескольких процессов rphost (например, 1 процесс на каждые 25-30 пользователей или 1 процесс на каждые 4 ядра CPU).
Частые вопросы (FAQ)
Зачем нужно 'Допустимое отклонение при перезапуске'?
Оно разносит время перезапуска нескольких рабочих процессов во времени, предотвращая пиковую нагрузку на CPU и диск при одновременном старте нескольких rphost.
Что произойдет, если тяжелый отчет формируется дольше Kill Timeout?
По истечении времени принудительного завершения (например, 300 сек) старый процесс rphost будет принудительно снят, а формирование отчета прервется с ошибкой.
Нужно ли перезапускать службу кластера ragent целиком?
Нет, штатный механизм перезапуска rphost исключает необходимость перезапуска службы ОС ragent, обеспечивая аптайм кластера месяцами.
В какое время лучше назначать перезапуск процессов?
Если задан интервал 86400 секунд, запустите службу кластера ночью (например, в 03:00) — последующие циклические перезапуски будут происходить в этот же наименее нагруженный период.