News:

We really need your input in this questionnaire

Main Menu

POLLERS is too high

Started by Evgeniy Skoropadskiy, May 13, 2016, 07:34:51 PM

Previous topic - Next topic

Evgeniy Skoropadskiy

Здравствуйте!
Помогите пожалуйста разобраться вот с этим сообщением: Load average for server thread pool POLLERS is too high (1.973633)
Не могу понять что к чему и куда копать?

Victor Kirhenshtein

Добрый день!

похоже на самом деле на неправильный threshold - 1.97 это вполне нормальное значение. Пробламе с пулом потоков если его load average превышает его максимальный размер.

Evgeniy Skoropadskiy

Не совсем понял Ваш ответ.
Смотрите, на сколько я понимаю есть 3 параметра (https://www.netxms.org/documentation/adminguide/quickstart.html , которые влияют на данное значение:
PollerThreadPoolMaxSize, PollerThreadPoolBaseSize, NumberOfDataCollectors
Я увеличил их в два раза, но это ни как не отразилось, на выше указанном значении. Из чего я сделал вывод, что копаю не туда. Прошу Вас помочь мне разобраться с этим вопросом.

Evgeniy Skoropadskiy

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

Victor Kirhenshtein

А сообщение где появляется? И какие текущие значения параметров пула DATACOLLECTION (должны собираться на верверной ноде)?

Evgeniy Skoropadskiy

Извините, что долго не писал, не было возможности.
Появляется на сервере (прилагаю дневной график)
Значение DATACOLLECTION - graf2.png (если я правильно Вас понял)

Evgeniy Skoropadskiy

Алерт все бомбит и бомбит :)

Victor Kirhenshtein

Проверьте threshold на параметре размера пула потоков DATACOLLECTION. Событие должно генерироваться если load average > размера пула, а сейчас похоже стоит очень низкое значение.

Evgeniy Skoropadskiy

Эти значения по умолчанию, я их не менял.

Victor Kirhenshtein

Да, это ошибка в системном шаблоне. Поменяйте 1 на размер пула.

Evgeniy Skoropadskiy

Я прошу прощения, но я тогда не понимаю значение/назначение остальных счетчиков?
Load average - средняя загрузка, usage и current size - колличество (это как я понимаю).
Вы пишите, что бы я установил в Load average значение какого параметра:

  • PollerThreadPoolBaseSize
  • PollerThreadPoolMaxSize
  • NumberOfDataCollectors

Я просто хочу разобраться что к чему, т.к. запутался. Помогите, пожалуйста!

Evgeniy Skoropadskiy

Load average растет, какие есть способы уменьшить это значение?

Tatjana Dubrovica

Quote from: Evgeniy Skoropadskiy on May 31, 2016, 10:08:36 AM
Я прошу прощения, но я тогда не понимаю значение/назначение остальных счетчиков?
Load average - средняя загрузка, usage и current size - колличество (это как я понимаю).
Вы пишите, что бы я установил в Load average значение какого параметра:

  • PollerThreadPoolBaseSize
  • PollerThreadPoolMaxSize
  • NumberOfDataCollectors

Я просто хочу разобраться что к чему, т.к. запутался. Помогите, пожалуйста!

Здесь есть описание этих параметров:
https://www.netxms.org/documentation/adminguide/appendix.html?highlight=pollerthreadpoolmaxsize#server-configuration-parameters

Если вкатце:

  • PollerThreadPoolBaseSize - минимальное количество потоков(используется для Status poll, Configuration poll, etc.  кроме сбора данных)
  • PollerThreadPoolMaxSize - количество до которого максимально может расти количество потоков(используется для Status poll, Configuration poll, etc.  кроме сбора данных)
  • NumberOfDataCollectors - количество потоков которое используется для сбора данных

Evgeniy Skoropadskiy

Tatjana Dubrovica, огромное спасибо за ответ! Я читал описание данных параметров.
У Вас новый сайт с документацией! Это радует, спасибо!!!
Но вопрос мой пока так и остался без ответа, к сожалению.
У меня на сервере постоянно выскакивает алерт к DCI: Server thread pool POLLERS: load average (1 minute)
И я не понимаю о чем этот алерт говорит и что необходимо сделать, что бы он пришел в нормальное состояние?

Tatjana Dubrovica

Аллерт выскакивает потому что у нас баг в "NetXMS Server"->"Thread pools" Template. Там в пороговом значение(threshold) должно быть значение сильно больше 1. Мы это поправим к следующему релизу(2.0.5) и если Вы обновитесь когда мы его выпустим, то всё должно будет решиться само сабой или Вы можете сами поправить value. Оно должно быть PollerThreadPoolMaxSize(250). Это пороговое значение нужно, чтобы оповестить администратора о том, что есть запросы которые стоят в очереди на обработку, но не обрабатываться, потому что количество запросов превышает максимальное количество доступных потоков.