Балансировка
Для управления работой сервиса Процесс и балансировщика используются следующие параметры:
Имя секции |
Название параметра |
Имя параметра |
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 узла.
В диспетчере задач показатель фактически потребляемой памяти складывается из частного рабочего набора и общего рабочего набора с незначительной погрешностью:
Узел раз в минуту отслеживает использование ресурсов. При нагрузке на сервис:
Если сервис приблизился к порогу потребления ресурсов, балансировщик уменьшает все показатели до тех пор, пока порог потребления памяти не будет соблюдаться.
Если потребление ресурсов ниже чем 80% от максимально допустимого, происходит увеличение количества потоков до тех пор, пока потребление памяти не достигнет 90% от максимального.
При этом, если на сервисе процессов балансировка отключена, узел продолжает регулярно снимать показания и при необходимости высылать обновленные настройки балансировщика на сервис, но сервис их игнорирует с сообщением:Получены настройки балансировки в модуле с отключенным балансировщиком.
Внимание
Измененные параметры балансировщика отправляются узлом на сервис только в том случае, если на сервис идет нагрузка. В состоянии покоя балансировщик только снимает показатели.