NetXMS Support Forum

Russian Support => Идеи и предложения по функциональности NetXMS => Topic started by: 2c2i on October 10, 2017, 06:19:26 PM

Title: Производительность и асинхронный опрос агентов/snm/ping
Post by: 2c2i on October 10, 2017, 06:19:26 PM
Судя по всему когда на агентах исполняются какие-то длинные проверки при опросе DCI, поток поллера на сервере блокируется и ждет ответа от этого агента. В итоге чтобы всё работало нормально нужно добавлять сотни, а то и тысячи потоков поллера - https://www.netxms.org/forum/general-support/performance-issues-with-netxms/ тут например пользователи запустили 4000(!) потоков для нормальной работы.

Неплохо бы на каждый тип(agent/snmp/ping) сделать один поток поллера который бы общался с нодами в неблокирующемся режиме, асинхронно - это будет гораздо эффективнее и быстрее работать при большом количестве нод
Title: Re: Производительность и асинхронный опрос агентов/snm/ping
Post by: Victor Kirhenshtein on October 12, 2017, 02:57:34 PM
Поллеры переделаны в текущем development бранче. Теперь вместо фиксированого количества потоков - динамический пул, кроме того очередь стала многоуровневой - сервер не пытается параллельно опрашивать один и тот-же агент, запросы к одному агенту сериализаются. Таким образом исключается вариант когда несколько медленно отзывающихся агентов блокируют весь пул. Мы не стали переносить изменение в stable, поскольку изменения большие, и вроде как понятию stable не совсем соответствуют.
Title: Re: Производительность и асинхронный опрос агентов/snm/ping
Post by: 2c2i on October 16, 2017, 11:19:01 PM
а переход на асинхронный опрос не планируется? Так чтобы поллер слал все запросы из очереди к агентам, а потом ждал ответы. Вместо посылки + ожидания для каждого запроса.