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