Как настроить штатный механизм перезапуска рабочих процессов «1С:Предприятие 8» (rphost.exe)? Решение проблемы перерасхода и утечки памяти.
Известный факт, что при длительном функционировании сервера «1С:Предприятие 8», с течением времени увеличивается размер занимаемой рабочим процессом (rphost.exe) оперативной памяти. Так же при выполнении не оптимального кода или допущении ошибки в запросе, в этот момент рабочий процесс может занять всю оперативную память, что неминуемо приведет к замедлению работы пользователей вплоть до полной потери контроля над сервером.
Чтобы избежать этих проблем необходимо задать настройки кластера «1С:Предприятие 8» и создать необходимое количество рабочих процессов. По моему опыту +1 рабочий процесс на каждые 25-35 пользователей. Рисунок настроек для кластера «1С:Предприятие 8»:
Интервал перезапуска — это время по прошествии которого, рабочий процесс автоматически будет перезапущен. Перед завершением работы старого рабочего процесса, запускается новый экземпляр rphost.exe на который передаются соединения со старого рабочего процесса.
Допустимый объем памяти — это размер памяти при превышении которого, запускается таймер отсчета в секундах.
Интервал превышения допустимого объема памяти — в том случае, когда таймер отсчета в секундах превысил значение заданого в этом параметре, запускается новый рабочий процесс на который передаются соединения от старого рабочего процесса. Старый рабочий процесс помечается как не активный.
Выключенные процессы останавливать через — этот параметр означает, когда пройдет 30 секунд, после того как рабочий процесс помечен не активен, он будет завершен операционной системой. Если значение будет равно «0» — процессы автоматически завершаться не будут.
Данная настройка работает безотказно почти год. Необходимость перезапуска службы «1С:Предприятие 8» исчезла, зависания сервера уже не наблюдалось больше полугода. Даже при выполнении некорректных запросов с огромными выборками, механизм отрабатывает на ура, отключая только пользователя от базы, который запустил этот отчет, остальные пользователи, которые работали на текущем рабочем процессе плавно (без отключения от базы) будут перенесены на новый рабочий процесс.
[…] консоли кластера 1С. Две кратких статьи по теме — один, два. Другие варианты, указанные как ответы, могут […]
[…] консоли кластера 1С. Две кратких статьи по теме — один, два. Другие варианты, указанные как ответы, могут […]