我一直在努力在大型网络中的所有 CentOS 7 服务器上定期使用 avahi-browse 命令,其中许多设备报告 avahi/mdns 数据。
应用程序的一部分运行此命令:
avahi-浏览-ltrp.._tcp
如果我通过 bash 脚本运行此命令足够多次,我就能够在命令行上重复该问题。
似乎发生的情况是 -t / --terminate 随机并没有真正终止,我们永远坐在那里,导致应用程序暂时停顿。
我手动设置了 15 秒的超时时间,我们总是会偶尔遇到这种情况。
但是,一旦联网设备通过 avahi/mdns 报告信息达到 100-120 台以上,这种情况就会开始非常频繁地发生,而且网络上的设备越多,情况就越糟。当设备数量达到 100-120 台左右时,这种情况就会开始频繁发生,而且设备越多,情况就越糟。
这可能不是太大的问题,但这里有一些关于基础设施的细节......
/20 网络,10GigE,除了我感兴趣的设备外还有其他设备,但我们没有通过 avahi 搜索它们,而且大多数都没有报告任何内容
16 vCPU x 32GiB vMem 虚拟机
我 4 个月前在 github 上创建了一个问题(目前还没有回复),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