Балансировка

Для управления работой сервиса Процесс и балансировщика используются следующие параметры:

Имя секции

Название параметра

Имя параметра

De fa ul

M i n

M a x

comm onParams

Потребление памяти модулем (% от CPU)

max ModuleMemoryUsage

2

1

5 0

proce ssParams

Максимальное количество потоков выполнения процессов/алгоритмов

threadCount

5

1

1 0

Максимальное количество спящих и выполняющихся процессов на модуле процессов (в Диагностике «Журнал выполняющихся процессов»)

maxSle epingProcessCount

1 00

5 0

1 0 0 0

Максимальный объем спящих и выполняющихся процессов на модуле процессов (МБ)

max SleepingProcessMB

2 00

1 0

6 0 0

Максимальный объем очереди процессов/алгоритмов к обработке (МБ)

maxU nprocessedQueueMB

30

1 0

3 0 0

Минимальное время ожидания ответа до сохранения процесса на узле (мс)

m inWaitBeforeSleep

1 00 00

2 0 0 0

Максимальное количество процессов одновременно ожидающих ответа (% от maxSleepingProcessCount или maxSleepingProcessMB)

maxRunnedRequests

50

1

9 9

Максимальное время сна процесса (мин)

ma xSleepTimeMinutes

14 40

1

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

По умолчанию балансировка включена на уровне кластера. При необходимости ее можно отключить на кластере или на конкретном сервисе процессов, установив параметр useBalancing: false.

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

Параметр Потребление памяти узлом устанавливается в настройках кластера и сервиса процессов однозначно и при балансировке не изменяется. Остальные параметры изменяются в диапазоне значений между Min / Max в зависимости от нагрузки и ресурсов CPU узла.

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

../_images/image269.png

Узел раз в минуту отслеживает использование ресурсов. При нагрузке на сервис:

  • Если сервис приблизился к порогу потребления ресурсов, балансировщик уменьшает все показатели до тех пор, пока порог потребления памяти не будет соблюдаться.

  • Если потребление ресурсов ниже чем 80% от максимально допустимого, происходит увеличение количества потоков до тех пор, пока потребление памяти не достигнет 90% от максимального.

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

Внимание

Измененные параметры балансировщика отправляются узлом на сервис только в том случае, если на сервис идет нагрузка. В состоянии покоя балансировщик только снимает показатели.

../_images/image27.png