Производительность и асинхронный опрос агентов/snm/ping

Started by 2c2i, October 10, 2017, 06:19:26 PM

Previous topic - Next topic

2c2i

Судя по всему когда на агентах исполняются какие-то длинные проверки при опросе DCI, поток поллера на сервере блокируется и ждет ответа от этого агента. В итоге чтобы всё работало нормально нужно добавлять сотни, а то и тысячи потоков поллера - https://www.netxms.org/forum/general-support/performance-issues-with-netxms/ тут например пользователи запустили 4000(!) потоков для нормальной работы.

Неплохо бы на каждый тип(agent/snmp/ping) сделать один поток поллера который бы общался с нодами в неблокирующемся режиме, асинхронно - это будет гораздо эффективнее и быстрее работать при большом количестве нод

Victor Kirhenshtein

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

2c2i

а переход на асинхронный опрос не планируется? Так чтобы поллер слал все запросы из очереди к агентам, а потом ждал ответы. Вместо посылки + ожидания для каждого запроса.