1C rphost загружает процессор

1C rphost загружает процессор

Один из серверов 1С, который я обслуживаю, очень странно себя вел. Загрузка процессора на машине с сервером 1С почти всегда была 100%, даже когда на нем никто не работал. Базы хранились в MSSQL, их было относительно много, но реально людей, которые с ними работали — мало. Одновременно работало не больше 10-15-ти пользователей в очень вялом режиме.

Введение

Этот сервер привлек мое внимание сразу же, как только я стал с ним работать. Предыдущий администратор безрезультатно бился над производительностью, приобрел 2 внешних корзины для отдельного рейда под базы данных mssql и временные данные пользователя 1С, но существующую проблему по загрузке процессора это не решало, хотя немножко разгрузило диски, но реальная проблема была не в них.

На сервере размещались примерно 30-35 баз, в которых работали по 1-2 человека и пару баз были, где работали по 3-5 человек одновременно. Все это крутилось вместе с MSSQL сервером на отдельном железном сервере с одним стареньким ксеоном и 32 гб оперативы. В принципе, для этих задач железо было более чем.

Первое, на что я обратил внимание, это то, что процессор был загружен даже ночью, когда на сервере никто не работал. Полез в консоль администратора смотреть, что нагружает процессор. Оказалось, что это фоновые задачи. Для большинства баз они были не нужны и все лишнее отключил. Нагрузка процессора сразу упала до приемлемого уровня в 60-70%, а диски вообще полностью разгрузились. Я про сервер забыл на какое-то время.

Снова к нему вернулся, когда пользователи стали жаловаться на очень медленную работу баз 1С. Процессор к тому времени почти всегда был загружен на 100%. Лишних фоновых задач уже не было. Надо было разбираться более внимательно, в чем тут проблема.

Разбираемся что конкретно в rmngr.exe грузит процессор

Загрузку процессора в равной степени давал процесс rmngr.exe и rphost.exe. Rphost уже ранее был настроен и оптимизирован. Вот такие настройки дали стабильную работу без необходимости перезапускать сервер месяцами:

Нагрузку rphost давал за счет оставшихся фоновых задач и что с ним еще сделать, я не знал. А с rmngr хотелось разобраться и узнать, что конкретно пожирает процессорное время. В этом процессе собраны все процессы менеджера кластера:

Есть возможность разделить сервисы менеджера кластера по разным системным процессам rmngr.exe и по pid определить, какая именно служба нагружает процессор. Включить такое разделение можно в свойствах рабочего сервера:

После того, как вы поставите галку, агент сервера 1С сам перезапустится с новыми настройками. После этого в диспетчере задач у вас будет порядка 15-ти процессов rmngr.exe с разными pid. Смотрите, какой из процессов больше всего использует процессор и в консоли управления 1С в разделе Менеджеры кластера по pid смотрите описание процесса.

Читайте также:  Nvidia nforce 430 mcp

В моем случае это был сервис журнала регистраций. Чтобы это узнать, дважды щелкните мышкой по процессу с необходимым pid:

Пол дела сделали, нашли виновника тормозов. Я скрины делал, когда уже решил проблему, так что у меня нагрузки нет.

Сервис журнала регистраций 1С нагружает процессор

Я выяснил, что конкретно дает чрезмерную нагрузку на сервер. Посмотрел на объем журналов регистраций. У некоторых баз он достигал размера в 10-15 гигов. После чистки серверу стало заметно легче, нагрузка снова опустилась, но где-то до 80-90% и я на несколько месяцев забыл про сервер.

Он напомнил о себе тормозами и загрузкой процессора в 100%. Проделанные выше операции уже не давали результата. Баз стало немного больше и нужно было думать, как разгрузить сервер. Он работал на все 100% даже в нерабочее время, когда на нем не было ни одного реального пользователя. Сервис журнала регистраций потреблял 30-40% процессорного времени.

Я стал внимательно шерстить интернет на заданную тему и нашел несколько заметок. Находились люди, которые обратили внимание на чрезмерную нагрузку сервиса журнала регистраций. Как вариант решения проблемы они предлагали откатиться на старую версию ведения логов lgf вместо новой lgd. Я не знаю, что принципиально изменилось в формате ведения лога журнала регистраций, но по отзывам попробовавших, нагрузка на процессор падала. Забегая вперед скажу, что мне этот совет помог.

Переводим сервер на старый вариант ведения логов журнала регистраций

Какой-то одной настройки или автоматического решения для перевода лога журнала регистраций в старый формат lgf нет. Чтобы использовать старый формат необходимо остановить службу Агента Сервера 1С:Предприятия. Затем отправиться в папку C:Program Files (x86)1cv8srvinfo
eg_1541
, выбрать по id базу, в которой хотите изменить формат лога. У меня баз было много, мне лениво стало вручную в каждой менять формат. Я выбрал базы с самым большим объемом и изменил формат только у них.

В каждой папке с базой есть каталог 1Cv8Log, а в нем 2 файла: 1Cv8.lgd и 1Cv8.lgd-journal. Их надо удалить и вместо них в этой папке создать пустой файл 1Cv8.lgf. Проделать такую операцию нужно со всеми базами, где будете менять формат лога. Старый не обязательно удалять, лучше его перенести куда-нибудь, вдруг пригодятся записи из него.

Читайте также:  Xiaomi mi band 3 blue

После этого можно запускать службу Агента Сервера 1С:Предприятия. После перехода на старый формат журнала регистрации, нагрузка процесса rmngr.exe упала практически до 0, а сервера в целом до приемлемых 40-60%.

Заключение

После того, как вы решите все проблемы на сервере 1С, процессы менеджера кластера нужно снова объединить в 1, убрав отвечающую за этот параметр галку в свойствах рабочего сервера. 1С не рекомендует постоянно использовать такой режим работы, так как он является отладочным.

Обслуживание сервера 1С – занятие, требующее специальных знаний в области администрирования операционных систем и структуры самого сервера. Одна из проблем, с которыми сталкиваются практически все администраторы 1С – большую часть мощностей сервера забирает для себя (на профессиональном сленге – съедает память) процесс rphost.exe. Удостовериться, что вы столкнулись именно с этой проблемой можно, открыв диспетчер задач и проверив колонки «ЦП» и «Память».

Пути решения проблемы

Данный процесс отвечает за обработку и передачу данных в запросах от клиентов к серверу и в обратном направлении. Не стоит удивляться, когда он использует много ресурсов, если количество пользователей превышает сотню. В этом случае необходимо иметь достойное оборудование, чтобы поддерживать приемлемую скорость работы. В случае же небольшого количества обрабатываемых и передаваемых данных, с неконтролируемым ростом rphost.exe нужно бороться:

  1. Первым советом, как уменьшить требования на сервер 1С rphost, обычно становится предложение обновить платформу 1С. С каждым новым релизом разработчики придумывают новые методологии и механизмы, снижающие системные требования, и не пользоваться этим глупо. Поддерживайте версию в актуальном состоянии и, возможно, это поможет решить проблему, когда загрузка процессора 100 процентов;
  2. Одно из временных решений возникшей проблемы с процессом rphost.exe – перезагрузить сервер приложений 1С. Для этого необходимо «выгнать» всех пользователей из всех информационных баз, поэтому этот вариант не должен применяться регулярно;
  3. Блокировка регламентных заданий в информационной базе. Этот метод борьбы тоже может помочь, но его недостаток заключается в искусственном ограничении для функционала 1С. Ведь ваши фоновые задания тоже не смогут выполняться;
  4. Снизить нагрузку на процессор сервера также можно, изменив настройки полнотекстового поиска – весьма требовательного механизма в 1С. В некоторых случаях можно даже отключить его, но без компетентного специалиста это делать не рекомендуется;
  5. Оптимальный способ, чтобы rphost не съедал память и не загружал весь процессор – правильно настроить сервер приложений 1С. Для полноценной грамотной настройки необходимы знания администрирования кластеров серверов, но есть и универсальные методы.
Читайте также:  Toshiba 19el933rb не включается

В первую очередь надо зайти в консоль администрирования на сервере и открыть свойства кластера. Два параметра, которыми мы сможет оперировать – «Интервал перезапуска» и «Допустимый объем памяти». Первый отвечает за регулярный перезапуск сеансов, а второй ограничивает максимальный размер потребляемой оперативной памяти.

После настройки rphost должен перестать загружать память и ресурсы процессора. Если же вышеперечисленные методы не помогли, остается проверить сервер на вирусы – вредоносные программы могут незаметно существовать и снижать производительность. Не будет лишним проверить и работоспособность оборудования или произвести его техническое обслуживание. Бывали случаи, когда сервер приложений 1С тормозил из-за огромного количества пыли и грязи на оборудовании в серверной.

Также для улучшения производительности стоит проверить и сервер SQL. Данные советы относятся не только к операционным системам семейства Windows, но и Ubuntu, и к другим Linux – системам. Причины проблем одинаковые – отличается лишь вариант их устранения и интерфейс операционных систем.

У многих возникают проблемы с rphost.exe, разного вида:

  • rphost занимает всю память
  • rphost грузит процессор
  • rphost жрет память

причем 1С даже на запущена, а в диспетчере следующее:

ежеминутно расчет на 2-3 мегабайта.

Как быть и что делать?

Решение проблем с rphost

То что 1С у пользователей не запущено — не значит что сервер 1С не должен работать

Он работает- выполняя фоновые задания:

Есть несколько вариантов решения:

1. Обновить платформу 1С и поддерживайте ее в актуальном состоянии

2. Перезапустить сервер или службу Агент 1С Предприятия, но это временное лечение.

3. Отключить выполнение фоновых заданий (но тогда часть операции заложенных в программу не будет выполнено)

Отключить можно в свойствах базы

Установите галку Блокировка регламентных заданий включена и нажмите ОК

Для типовых конфигураций советую отключить обновление Полнотекстового поиска:

4. В консоли администрирования в настройках кластера выставить предел ОП и периодичность перезапуска рабочих процессов

На этом тестовом сервере пока всего 2GB памяти, поэтому когда rphost съедает память на 600 — 850 мегабайт, свободной память остается только 6% — сервер тормозит нереально

Установим следующие параметры для рабочих процессов:

Основное: 500 мб — допустимый объем памяти и Режим распределения нагрузки — Приоритет по памяти

Подробнее об этом я уже писал в статье Оптимальные параметры кластера 1С 8.3

После установки таких настроек кластера, сервер начал стабильно работать.

Интересно услышать Ваши комментарии — Какой у Вас сервер и какие настройки делаете Вы для оптимизации

Ссылка на основную публикацию
Adblock detector