Судя по всему когда на агентах исполняются какие-то длинные проверки при опросе DCI, поток поллера на сервере блокируется и ждет ответа от этого агента. В итоге чтобы всё работало нормально нужно добавлять сотни, а то и тысячи потоков поллера - https://www.netxms.org/forum/general-support/performance-issues-with-netxms/ тут например пользователи запустили 4000(!) потоков для нормальной работы.
Неплохо бы на каждый тип(agent/snmp/ping) сделать один поток поллера который бы общался с нодами в неблокирующемся режиме, асинхронно - это будет гораздо эффективнее и быстрее работать при большом количестве нод
Поллеры переделаны в текущем development бранче. Теперь вместо фиксированого количества потоков - динамический пул, кроме того очередь стала многоуровневой - сервер не пытается параллельно опрашивать один и тот-же агент, запросы к одному агенту сериализаются. Таким образом исключается вариант когда несколько медленно отзывающихся агентов блокируют весь пул. Мы не стали переносить изменение в stable, поскольку изменения большие, и вроде как понятию stable не совсем соответствуют.
а переход на асинхронный опрос не планируется? Так чтобы поллер слал все запросы из очереди к агентам, а потом ждал ответы. Вместо посылки + ожидания для каждого запроса.