Я боролся с регулярным использованием команды avahi-browse на всех серверах CentOS 7, размещенных в большой сети со многими устройствами, отправляющими данные avahi / mdns.
Часть приложения запускает эту команду:
avahi-browse -ltrp .._ tcp
Я могу повторить проблему в командной строке, если я выполню эту команду достаточно раз с помощью сценария bash.
Кажется, что происходит то, что -t / --terminate случайно не завершается, и мы сидим там вечно, в результате чего приложение ненадолго останавливается.
Я установил тайм-аут вручную на 15 секунд, и мы постоянно попадаем в него.
Однако как только мы достигаем более 100-120 сетевых устройств, передающих свою информацию через avahi / mdns, это начинает происходить очень часто и ухудшается с увеличением количества устройств в сети. Примерно на 100-120 устройствах это начинает происходить очень часто, и чем больше у нас устройств, тем хуже.
Это, вероятно, не имеет большого значения, но вот некоторые подробности об инфра ...
/ 20 network, 10GigE, есть и другие устройства, кроме тех, которые меня интересуют, но мы не ищем их через avahi, и большинство из них ничего не сообщает
16 виртуальных ЦП x 32 ГБ vMem ВМ
Я создал проблему на github 4 месяца назад (пока нет ответов), https://github.com/lathiat/avahi/issues/264.
Я подумал, что спрошу здесь, есть ли какие-либо идеи, связанные с конфигурацией системы, которые могут быть фактором, на который я должен обратить внимание, или если кто-то сталкивался с этим. Я даже не уверен, что многие люди используют zeroconf в среде большого предприятия.
Конфигурация avahi:
[server]
use-ipv4=no
use-ipv6=yes
allow-interfaces=ens256
deny-interfaces=ens192,ens224
enable-dbus=yes
disallow-other-stacks=yes
objects-per-client-max=2048
ratelimit-interval-usec=1000000
ratelimit-burst=1000
cache-entries-max=2048
[wide-area]
enable-wide-area=no
[publish]
[reflector]
[rlimits]
rlimit-core=0
rlimit-data=4194304
rlimit-fsize=0
rlimit-nofile=768
rlimit-stack=4194304
rlimit-nproc=3