linux - snmpbulk 获取数据的时间太长

标签 linux perl snmp net-snmp

我正在使用 snmpbulk 获取网络中使用多个 OID 的设备的数据。但是对于那些 OID,有很多子 OID(每个 OID 超过 20,000)。所以获取数据需要很多时间。我怎样才能实现这一点,以便花费更少的时间。

最佳答案

  1. 第一个明显的步骤 - 并行轮询设备。
  2. 将轮询器移近设备以减少请求的 RTT 延迟。
  3. 试验 GETBULK PDU 中的 max-repetitions 字段 - 一次发送多个 OID 的请求。
  4. 同时向设备发送多个 OID 请求(例如 例如使用轮询器的多个实例来查询 OID 的子集)。 请注意,它很容易使设备的 CPU 过载。

关于linux - snmpbulk 获取数据的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49378208/

相关文章:

network-programming - 使用 SNMP LLDP 查找邻居

Python不逐行写入

linux - 无法启动瘦服务器

perl - 如何添加时间并将其替换为 Perl 中的文件?

Perl:通过配置文件传递两个参数

udp - 为什么 SNMP 通常在 UDP 上运行而不是 TCP/IP 上?

c - 有没有更简洁的方法来可靠地使用 write() 函数?

linux - 如何从 sh 脚本运行 csh 脚本

perl - 如何确定 perl 中数字列表的按位二进制分数?

java - 在 Java 中使用 SNMP 监控是否会对性能产生影响?