1с грузит процессор

Содержание

1С:Вопросы и ответы » Процесс rphost грузит процессор и память. 1С 8.3, решения для системных процессов

1с грузит процессор

Процесс rphost грузит процессор и память. 1С 8.3, решения для системных процессов. Архитектура кластера серверов 1С. Полнотекстовый поиск. Консоль управления кластером серверов 1С.

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

Архитектура кластера серверов 1С

Основные возможности кластера серверов

  • может функционировать на одном или нескольких компьютерах (рабочих серверах);
  • на каждом рабочем сервере может функционировать один или несколько рабочих процессов, обслуживающих клиентские соединения в рамках данного кластера;
  • подключение новых клиентов к рабочим процессам кластера выполняется на основе анализа долгосрочной статистики загруженности рабочих процессов;
  • взаимодействие процессов кластера с клиентскими приложениями, между собой и с сервером баз данных осуществляется по протоколу TCP/IP;
  • процессы кластера сервера могут быть запущены как приложение, или как сервис.

Состав простейшего кластера серверов

В самом простом исполнении кластер серверов может быть расположен на одном компьютере. Также простейший кластер может состоять из одного рабочего процесса:

На приведенной схеме представлены все элементы, которые задействованы у активного кластера серверов:

  • процессы кластера серверов:
    • ragent.exe;
    • rmngr.exe;
    • rphost.exe;
  • хранилища данных:
    • список кластеров;
    • реестр кластера.

Агент сервера ragent.exe

Ragent.exe, собственно, обеспечивает функционирование компьютера в составе кластера. В таком случае, компьютер, имеющий запущенный процесс агента сервера, именуется рабочим сервером. Одна из функций агента сервера -ведение списка кластеров, расположенных на данном рабочем сервере.

Агент сервера и список кластеров обеспечивают работу сервера и кластеров, которые расположены на нем. Эти компоненты не входят в состав кластера серверов.

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

  • rmngr.exe (может быть один или несколько процессов);
  • реестр кластера;
  • rphost.exe (может быть один или несколько процессов).

Менеджер кластера rmngr.exe

Rmngr.exe управляет функционированием кластера. Может существовать несколько таких менеджеров в составе кластера. В любом случае один из этих процессов всегда будет являться главным менеджером кластера.

Другие — дополнительными менеджерами. Сервер, на котором запущен главный менеджер кластера и находится реестр кластера, будет именоваться центральным сервером кластера.

Менеджер кластера, в том числе, обеспечивает ведение реестра кластера.

Рабочий процесс rphost.exe

Rphost.exe занимается обслуживанием непосредственно клиентских приложений, он взаимодействует с сервером БД (баз данных), в нем исполняются процедуры серверных модулей конфигурации.

Итак, теперь нам стала ясна роль и место рабочего процесса rphost.exe в конфигурации кластера серверов 1С:Предприятие.

Проблемы с rphost.exe

Теперь приступим к исследованию возможных неудобств в работе rphost.exe и вариантам их устранения.

rphost.exe грузит память и занимает процессорное время

Как видно на картинке, отображающем диспетчер задач, процесс rphost.exe достаточно сильно загружает память сервера и его процессор. Причем 1С не работает ни в режиме приложения, ни в режиме конфигурирования.

Для многих конфигураций серверов данная ситуация не является проблемной, они спокойно выдерживают подобные нагрузки не снижая производительности.

Но, если ресурсы компьютера оставляют желать лучшего и возможностей для их улучшения нет, то каждый мегабайт ОЗУ, необдуманно израсходованный, будет критичен.

Как можно снизить расход ресурсов процессом rphost.exe

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

Фоновые задачи. Далее стоит проверить на предмет необходимости все фоновые задачи используемой конфигурации или нескольких конфигураций. В случае присутствия ненужных — их отключить или удалить.

Делать это нужно аккуратно, вначале выполнив резервное копирование ИБ.  Как сделать выгрузку ИБ можно посмотреть в статье: Как обновить сервер 1С 8.3 и платформу 1С 8.3. Как блокировать пользователей 1С. Как сделать выгрузку базы данных 1С.

1С Предприятие клиент-сервер. Операционная система Windows Server 2012 R2

Если в фоновых регламентированных задачах, по Вашему мнению нет необходимости, то можно отключить выполнение фоновых заданий непосредственно из mmc-консоли управления кластером серверов 1С.

Для этого нужно открыть свойства базы, у которой будем выполнять отключение.

Далее нужно авторизоваться в информационной базе.

После авторизации установите галочку возле опции «Блокировка регламентных заданий включена»

Полнотекстовый поиск (отключение, включение). 

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

Заходим в главном меню, пункт «Все функции»

Далее находим «Управление полнотекстовым поиском».

Отключаем полнотекстовый поиск.

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

Установка перезапуска рабочих процессов

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

Для улучшения ситуации с загрузкой памяти процессом rphost.exe, установим в настройках кластера консоли администрирования кластера серверов 1С следующие параметры:

Если у Вас появились вопросы по статье или остались нерешенные проблемы обсудить их Вы можете на Форуме 1С Вопросы и ответы 

Источник: http://www.advanter.net/process-rphost-gruzit-processor-i-pamyat-1s-8-3-resheniya-dlya-sistemnyx-processov/

Процесс 1с rmngr.exe грузит процессор – Server Master

1с грузит процессор

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

Несложно было догадаться по наименованию процесса, а это была фраза “rmngr.exe”, что это обычный кластер серверов 1С Предприятие 8.3.

Ранее на этой системе не было установлено более ранних версий платформы, а потому нагрузка такого рода у них была изначально и клиент думал, что так нужно “и эта одинэс самая тупая, и екселем было проще”.

В общем проблема была реально проблемная. Там стоял процессор Intel Core I5 и радости от этого не было вообще. Пользователей около 10 человек и все работали на сервере через удаленный рабочий стол.

Работали они почти полгода таким образом. Настраивать саму платформу пришлось с нуля. На первые поры вроде было все нормально, но в итоге снова начинало “тупить”.

Как потом оказалось, виной всему было протоколирование журнала транзакций в новый формат журнала.

Ранее журнал транзакций сохранялся в файл с расширением “1Cv8.lgf“, но вскоре разработчики решили изменить формат сохранения и сделали его во таким: “1Cv8.lgd“.

Для каждой базы данных журнал транзакций хранится в отдельном файле.

Каталоги с файлами журналов хранятся по пути: “C:Program Files (x86)1cv8srvinfo
eg_1541
“. Каждая база хранится в папке с именем её идентификатор. В каждой такой папке есть папка “1Cv8Log“. И вот в этой папке хранится сам файл журнала транзакций.

Для того, что изменить новый формат на старый, необходимо остановить в апплете “Службы” службу “Агент 1С Предприятие 8.3″. Далее переместить файлы со старыми журналами в удобное место для хранения в качестве копии.

На всякий случай… После Вам необходимо создать в папке “1Cv8Log” пустой файл с именем “1Cv8.lgf“. Вы можете перевести не все свои базы на старый формат протоколирования, а лишь те, которые наиболее мешают работе сервера из-за их высокого использования.

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

Но… Перед сменой формата убедитесь в том, что Вы создали ПОЛНУЮ копию старого журнала, и он сохранен в файл для будущих операций. Этот файл Вы сможете просмотреть, если встанет необходимость просмотреть со временем историю изменений. И кстати появилась новая кнопка перехода на новый формат данных…

Источник:

Сервер 1С

Это позволяет обеспечить непрерывность работы:

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

При  установке серверной части 1С:Предприятия 8.1  вы можете создать нового пользователя или выбрать существующую учетную запись.

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

Кластер по умолчанию имеет следующие характеристики: ·         номер порта – 1541; ·         диапазон IP портов – 1560:1591; ·         поддержка многих рабочих процессов – выключена; ·         один  рабочий  процесс, номер  порта устанавливается из указанного диапазона.

Если при первом запуске агента кластера возникли какие-либо проблемы, то кластер по умолчанию может быть не создан. Это проявляется в том, что при запуске агента сервера (ragent) он стартует, но не запускает другие процессы кластера (rmngr, rphost). Список кластеров srvribrg.

lst при этом выглядит так: { {0},

В этом случае можно остановить процесс ragent, удалить список кластеров (srvribrg.lst) и запустить ragent снова.

Проверьте совпадение портов, указанного в параметре port командной строки запуска сервиса агента сервера и заданного в диалоге параметров центрального сервера консоли кластеров:

— Остановите сервис 1C:Enterprise 8.1 Server Agent.

Если Агент серверов запущен как приложение, остановка выполняется нажатием комбинации клавиш Ctrl+C.
— Убедитесь, в Диспетчере задач (Task Manager), что все процессы ragent, rmngr, rphost завершились. При необходимости завершите их при помощи Task Manager.

— Откройте свойства сервиса 1C:Enterprise 8.1 Server Agent.

— Обратите внимание на строку «Исполняемый файл» ( Path to executable). В ней имеется параметр -d, за которым следует каталог данных кластера. Все файлы, относящиеся к кластеру, находятся в этом каталоге. — Удалите все содержимое этого каталога. — Запустите сервис 1C:Enterprise 8.

1 Server Agent. — Убедитесь, в Диспетчере задач (Task Manager), что все процессы ragent, rmngr, rphost стартовали. — Запустите консоль кластера и зарегистрируйте в ней центральный сервер. Консоль должна подсоединиться к центральному серверу и показать один кластер, созданный по умолчанию.

Возможными проблемы отказа работы Кластера серверов являются проблемы с ключами защиты, правами учетной записи служб, некорректными параметрами запуска.

  1. Ключ защиты серверной части устанавливается ЛОКАЛЬНО на каждый сервер предприятия
  2. Не задавайте учетную запись службы с пустым паролем
  3. При нескольких кластерах используемые порты не должны пересекаться

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

Ошибка 1069: служба не запущена из-за ошибки входа в систему

Проблема связана с правами учетной записи на запуск от имени системной службы.

Откройте утилиту Local Security Policy (Локальная политика безопасности) и добавьте пользователя (от имени которого происходит запуск Рабочих серверов Кластера) к политикам Logon as service (Работа в качестве сервиса) и Logon as batch (Работа в качестве пакетного задания) job.

При нарушении данных, хранящихся в служебных файлах,  и  запуск Рабочих серверов Кластера может оказаться неудачным. Убедитесь, что агент сервера 1С:Предприятия 8.1 запущен (процесс ragent в Task Manager).

Не забудьте, что средством анализа также является  аудит событий Windows. Для этого посмотрите, появляются ли какие-нибудь «подозрительные» сообщения в журнале событий Windows.

Ошибка 8007056B / 800708C5

The new password does not meet the password policies. The password may be too short or you have already used this password recently. Причина: указанный пароль для учетной записи в диалоговом окне «Установка сервера 1С:Предприятие» не удовлетворяет требованиям политики безопасности.

Решение: Задать новый пароль для выбранной учетной записи, удовлетворяющий требованиям политики безопасности либо ослабить требования применяемой политики безопасности, т.е. не требовать «сложного» пароля, не ограничивать количество знаков в пароле, не проверять попыток повторения и т.д.

Ошибка 1923: нет привилегий для установки сервисом

Причина: Ошибка связана с правами установки учетной записи в качестве приложений. Такая ошибка характерна для попыток установки сервера на контроллере домена, где предъявляются повышенные меры безопасности.

Решение: Не использовать контроллер домена для размещения сервера предприятия или ослабить требования безопасности и указать для выбранной учетной записи права «Работы в качестве службы», «Работы в качестве пакетного задания».

Ошибка 80070056

Your password could not be changed. Each password must be used for at least x days.
Причина и Решение: Еще одна ошибка, возникающая при нарушении требований политики безопасности к используемым паролям. Решение аналогично ошибке 800708C5.

Windows Sockets — 11004(0х00002AFC)

1) Убедиться, что на Рабочем сервере кластера в Диспетчере задач (Task Manager) запущены : Агент сервера (ragent.exe), Менеджер Кластера (rmngr.exe), Рабочий процесс Кластера (rphost.exe). 2) Для проверки разрешения имен  ip-адреса выполните в командной строке: ping имя_машины В отклике системы на команду нас интересует, определиться ли ip-адрес.

3) Если имя определилось, но Рабочий процесс по-прежнему не находится, то убедитесь, что определение Ip-адреса имени и . определяются не по-разному.

(Windows Sockets — 10054(0x00002746)

Удаленный хост принудительно разорвал соединение. Такое сообщение может быть получено в случае перезагрузки сервера или принудительного удаления Рабочего процесса.

Эта ошибка обычно не появляется при повторном подключении. Если ошибка осталась, необходимо расследовать причины отказа рабочих серверов кластера.

Такая ошибка может происходить при достижении рабочим процессом использования максимального объема памяти в 32х битных системах.

Другим случаем является попытка подключения от клиента с сообщением об ошибке:

 (Windows Sockets — 10060(0x0000274C)

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

Сущность этой ошибки – отсутствие отклика в течении определенного времени (таймаута). 1) Убедитесь, что брандмауэр не блокирует трафик приложения. Выключите брандмауэр.

Для этого в командной строке выполните команду (команда доступна начиная с Windows XP и Windows Server 2003, в более ранних версиях встроенного брандмауэра нет, однако может быть установлено стороннее ПО):

netsh firewall set opmode disable

Если команда будет выполнена успешно, вы получите сообщение:

Ок.

Кроме брандмауэра блокировать трафик могут сетевые фильтры. Они по умолчанию выключены. Тем не менее, убедитесь, что это так:

  1. Откройте папку «Сетевые подключения».
  2. Щелкните правой кнопкой мыши сетевое подключение, которое требуется настроить, и выберите команду Свойства.
  3. На вкладке Общие (для подключения по локальной сети) или на вкладке Сеть (для всех остальных подключений) выберите Протокол Интернета (TCP/IP) и нажмите кнопку Свойства.
  4. Нажмите кнопку Дополнительно.
  5. Откройте вкладку Параметры, выберите параметр Фильтрация TCP/IP и нажмите кнопку Свойства.
  6. Убедитесь,  что флажок Задействовать фильтрацию TCP/IP (все адаптеры) снят.

Источник: https://crb-otradnoe.ru/drugoe/protsess-1s-rmngr-exe-gruzit-protsessor.html

Процесс 1С rmngr.exe грузит процессор

1с грузит процессор

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом “Administrator Linux. Professional” в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

Этот сервер привлек мое внимание сразу же, как только я стал с ним работать. Предыдущий администратор безрезультатно бился над производительностью, приобрел 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 смотрите описание процесса.

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

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

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

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

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

Я стал внимательно шерстить интернет на заданную тему и нашел несколько заметок. Находились люди, которые обратили внимание на чрезмерную нагрузку сервиса журнала регистраций.

Как вариант решения проблемы они предлагали откатиться на старую версию ведения логов lgf вместо новой lgd.

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

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

Какой-то одной настройки или автоматического решения для перевода лога журнала регистраций в старый формат lgf нет. Чтобы использовать старый формат необходимо остановить службу Агента Сервера 1С:Предприятия.

Затем отправиться в папку C:\Program Files (x86)\1cv8\srvinfo\reg_1541, выбрать по id базу, в которой хотите изменить формат лога. У меня баз было много, мне лениво стало вручную в каждой менять формат.

Я выбрал базы с самым большим объемом и изменил формат только у них.

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

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

Заключение

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

В очередной раз я победил тормоза 1С в виде 100% загрузки процессора сервисом rmngr.exe. С базами 1С никогда не приходится скучать, постоянно решаешь какие-нибудь вопросы и проблемы, которые возникают чаще всего после обновлений. С настороженностью смотрю на рост потребления ресурсов процессами rphost.exe. Чутьем чую, что скоро придется решать вопросы загрузки процессора именно ими.

Онлайн курс по Linux

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом “Administrator Linux. Professional” в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку.

Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Что даст вам этот курс:

  • Знание архитектуры Linux.
  • Освоение современных методов и инструментов анализа и обработки данных.
  • Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
  • Владение основными рабочими инструментами системного администратора.
  • Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
  • Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.

Проверьте себя на вступительном тесте и смотрите подробнее программу по .

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Источник: https://serveradmin.ru/1s-nagruzka-na-protsessor-protsessa-rmngr-exe-100/

Сервер 1С

1с грузит процессор

Это позволяет обеспечить непрерывность работы:

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

При  установке серверной части 1С:Предприятия 8.1  вы можете создать нового пользователя или выбрать существующую учетную запись.

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

Кластер по умолчанию имеет следующие характеристики:·         номер порта – 1541;·         диапазон IP портов – 1560:1591;·         поддержка многих рабочих процессов – выключена;·         один  рабочий  процесс, номер  порта устанавливается из указанного диапазона.Если при первом запуске агента кластера возникли какие-либо проблемы, то кластер по умолчанию может быть не создан.

Это проявляется в том, что при запуске агента сервера (ragent) он стартует, но не запускает другие процессы кластера (rmngr, rphost). Список кластеров srvribrg.lst при этом выглядит так:{{0},

В этом случае можно остановить процесс ragent, удалить список кластеров (srvribrg.lst) и запустить ragent снова.

Проверьте совпадение портов, указанного в параметре port командной строки запуска сервиса агента сервера и заданного в диалоге параметров центрального сервера консоли кластеров:

— Остановите сервис 1C:Enterprise 8.1 Server Agent.

Если Агент серверов запущен как приложение, остановка выполняется нажатием комбинации клавиш Ctrl+C.
— Убедитесь, в Диспетчере задач (Task Manager), что все процессы ragent, rmngr, rphost завершились. При необходимости завершите их при помощи Task Manager.

— Откройте свойства сервиса 1C:Enterprise 8.1 Server Agent.

— Обратите внимание на строку «Исполняемый файл» ( Path to executable). В ней имеется параметр -d, за которым следует каталог данных кластера. Все файлы, относящиеся к кластеру, находятся в этом каталоге.— Удалите все содержимое этого каталога.— Запустите сервис 1C:Enterprise 8.

1 Server Agent.— Убедитесь, в Диспетчере задач (Task Manager), что все процессы ragent, rmngr, rphost стартовали.— Запустите консоль кластера и зарегистрируйте в ней центральный сервер. Консоль должна подсоединиться к центральному серверу и показать один кластер, созданный по умолчанию.

Возможными проблемы отказа работы Кластера серверов являются проблемы с ключами защиты, правами учетной записи служб, некорректными параметрами запуска.

  1. Ключ защиты серверной части устанавливается ЛОКАЛЬНО на каждый сервер предприятия
  2. Не задавайте учетную запись службы с пустым паролем
  3. При нескольких кластерах используемые порты не должны пересекаться

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

(Windows Sockets — 10061(0x0000274D)

Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
Характерной причиной такой ошибки является отсутствие запущенного Агента сервера. Запустите сервер вручную или выполните перезагрузку сервера для автоматического старта.

От экспертов «1С‑Рарус»: Оптимизация перезапуска рабочих процессов на платформе «1С» 8.3.15 и выше

1с грузит процессор

Большое предприятие ведет свою деятельность в клиент-серверной базе основанной на «1С:Управление торговлей» ред.11.2. При длительной работе более 6 часов с момента запуска сервера от пользователей стали поступать жалобы об общем замедлении работы системы. При этом замедление наблюдалось буквально во всем: открытие форм объектов, формирование отчетов, проведение документов и так далее.

В рамках статьи рассмотрены причины такого поведения системы, возможные варианты настройки сервера типовыми средствами «1С», а также представлен авторский альтернативный подход к решению проблемы.

Необходимые сведения об устройстве сервера «1С»

На рисунке представлены элементы, которые задействованы в работе кластера серверов, а именно:

  • процессы кластера серверов:
    • ragent.exe,
    • rmngr.exe,
    • rphost.exe.
  • хранилища данных:
    • список кластеров,
    • реестр кластера.

Функционирование компьютера в составе кластера обеспечивается процессом ragent.exe, который называется агентом сервера. Соответственно компьютер, на котором запущен агент сервера, называется рабочим сервером. Одной из функций агента сервера является ведение списка кластеров, расположенных на данном рабочем сервере.

Непосредственно кластер серверов включает в себя следующие элементы:

  • один или несколько процессов rmngr.exe;
  • реестр кластера;
  • один или несколько процессов rphost.exe.

Процесс rmngr.exe называется менеджером кластера. Этот процесс управляет функционированием всего кластера.

Процесс rphost.exe называется рабочим процессом. Рабочий процесс обслуживает непосредственно клиентские приложения, взаимодействует с сервером баз данных и в нем, в частности, могут исполняться процедуры серверных модулей конфигурации.

В процессе своей работы рабочий процесс со временем потребляет все больше памяти, что в конечном счете приводит к падению производительности сервера. Таким образом, объем памяти занимаемый рабочим процессом в некоторой степени коррелирует со степенью его деградации.

Параметры стенда

Будет рассматриваться поведение платформы на примере доработанной конфигурации основанной на «1С:Управление торговлей» ред. 11.2.

  • Сервер 1С под Windows.
  • Одновременно работающих пользователей около 800.
  • ОЗУ 192Гб. Абсолютное значение памяти не так существенно. Важно, что через какое-то время рабочие процессы замедляются (деградируют) даже при видимом свободном объеме памяти.
  • Остальные параметры также не существенны.

Повышенный расход памяти и возможные причины

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

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

Штатные возможности по оптимизации платформы «1С:Предприятие»

Для отказоустойчивой и производительной работы кластер серверов «1С:Предприятие» предусматривает возможность перезапуска рабочих процессов. Однако, настройки условий перезапуска рабочих процессов могут быть сильно ограничены в разных версиях платформы.

Например, в версии ПРОФ платформы 8.3.15 можно настроить перезапуск рабочих процессов либо по времени, например, каждый час, либо при превышении объема памяти всех рабочих процессов заданного лимита, что не всегда является оптимальным.

Поиск решения

В сервере «1С:Предприятие» есть некий пул соединений, которые могут использоваться разными сеансами по мере необходимости. В то время как сеанс бездействует у него нет соединения. Лишние соединения закрываются не сразу, а примерно через 15–20 минут.

При перезапуске рабочего процесса все сеансы находящиеся на нем необходимо переместить на другой рабочий процесс, при этом в процессе переноса открывается соединение. Именно поэтому перезапуск рабочих процессов наглядно видно на графике количества соединений.

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

Удобно видеть перезапуск, отслеживая загрузку процессора, а также количество соединений.

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

В рассматриваемом прикладном решении процесс перезапуска всех рабочих процессов мог длиться до 20 минут, при этом средняя загрузка ЦП поднималась выше 60%.

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

Из-за этого несколько раз в день отзывчивость сервера значительно падала, что сопровождалось жалобами пользователей.

После перехода прикладного решения на 8.3.15.1830 появилась возможность использовать параметр «ВременноДопустимыйОбъемПамятиПроцессов» не только в КОРП, но и в версии ПРОФ. Однако, попытки использовать его не привели к желаемому результату. Поскольку параметр ограничивает общий объем памяти всех рабочих процессов.

Если задать его слишком маленьким, то перезапуск рабочих процессов будет слишком частым и сервер будет вести себя также, как и при перезапуске по времени. Если задать его побольше, то перезапуск рабочих процессов не будет производиться до тех пор, пока в сумме все они не превысят лимит, а в это время будет происходить их деградация и снижение производительности.

Когда же лимит будет превышен начнется перезапуск рабочих процессов, но процесс будет слишком частый, как и в предыдущем случае.

Очевидно, для того чтобы реализовать регулярный, но не слишком частый перезапуск деградировавших рабочих процессов параметр «ВременноДопустимыйОбъемПамятиПроцессов» необходимо постоянно изменять в зависимости от количества сеансов или количества активных рабочих процессов. Но как вычислить эту зависимость не совсем ясно.

Скрипт перезапуска рабочих процессов

$WorkBaseServer = “ServerName:1540” $IBNameWorkBase = “BaseName” $Connector = new-object -comobject “V83.COMConnector” $AgentConnection = $Connector.ConnectAgent($WorkBaseServer) $Clusters = $AgentConnection.GetClusters() $Cluster = $Clusters.GetValue(0) $AgentConnection.

Authenticate($Cluster,”Login”,”Password”) $WorkingProcesses = $AgentConnection.GetWorkingProcesses($Cluster) $WorkingServers = $AgentConnection.GetWorkingServers($Cluster) $mem = 0 ForEach ($wp In $WorkingProcesses) { if ($wp.IsEnable) { $mem = $mem + $wp.

MemorySize } } $mem = $mem*1024 $mem = $mem – 1024*1024*512 if ($mem -gt 1024*1024*1024*4) { $WorkingServers[0].TemporaryAllowedProcessesTotalMemory = $mem $AgentConnection.UpdateWorkingServer($Cluster,$WorkingServers[0]) Start-Sleep -s 5 $WorkingServers[0].TemporaryAllowedProcessesTotalMemory = 0 $AgentConnection.

UpdateWorkingServer($Cluster,$WorkingServers[0]) } Скачать скрипт ПерезапускРабочихПроцессов.ps1

Для решения проблемы был написан скрипт.

  Логика работы скрипта следующая:  раз в 10 минут производится  суммирование объема памяти всех активных рабочих процессов, устанавливается параметр  «ВременноДопустимыйОбъемПамятиПроцессов» в значение равное полученной сумме за вычетом 512Мб, чтобы получить гарантированное превышение по памяти.

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

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

Еще статьи по теме оптимизации производительности «1С»:

Чтобы не пропустить новые статьи из цикла «От экспертов 1С-Рарус» подпишитесь на рассылку «Новости компании 1С‑Рарус». Рассылка будет приходить 1 раз в две недели и содержать ссылки на все новые статьи, опубликованные на rarus.ru.

Автор статьи

Источник: https://rarus.ru/publications/20200518-ot-ekspertov-1c-rarus-optimizatsiya-perezapuska-rabochikh-protsessov-na-platforme-1c-8-3-15-i-vyshe-424479/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.