【问题标题】:Java SNMP API ChoiceJava SNMP API 选择
【发布时间】:2023-03-07 21:07:01
【问题描述】:

我知道这个问题已经被问过很多次了,但我目前正在使用 snmp4j 库,我发现它很慢。即使在我的本地系统上,六个查询也需要大约六秒钟,而且我无法获得直接值,例如特定磁盘使用情况,我必须操作几个值,因为我使用的 MIB-II mib 没有内置那么多功能是否有任何 API 快速且允许直接检索指标,例如磁盘使用情况、CPU 使用情况、可用内存、内存使用情况等, 网上有很多可用的 API,但我没有时间全部尝试,希望得到实际使用过此类 API 的人的解答。

【问题讨论】:

    标签: java network-programming snmp snmp4j


    【解决方案1】:
    • 您应该将性能分析到低得多的水平,然后判断它是否执行缓慢。当然,你应该明确你使用的是snmp4j的哪一部分(管理器还是代理器)。

    • 您对从 SNMP 查询返回何种数据的要求不适合一般的 SNMP 库/代理,例如 snmp4j。一般来说,它们是根据 IETF RFC 设计的,其中没有记录操作系统特定的 API。

    • 如果您确实要搜索特定于操作系统的代理,或者您希望该代理具有尽可能多的功能,您可以选择商业代理。在这种情况下,他们的售前人员可以接听您的电话或邮件,并给您想要的答案。

    【讨论】:

    • 我的应用程序中没有需要分析的较低级别。我只是查询了系统正常运行时间和系统名称。顺便说一句,我正在使用 SNMP4J 的管理器部分。我只想知道是否SNMP4J 本身速度较慢,即您是否使用过它并设计了一个相当复杂的应用程序。
    • 它对我来说工作得非常快(在 Windows 上测试 Net-SNMP 代理或 Windows SNMP 服务时),这就是为什么我要求你做进一步的分析。您可以从针对您使用的 SNMP 代理测试 snmp4j 命令行工具开始,然后尝试另一个 SNMP 代理。 snmp4j.com/html/download.html
    • 哦,谢谢你的意见。我会再次测试它。无论如何,除了 SNMP4J,你知道任何其他具有更高级功能的库吗?
    • 除了snmp4j我没有接触过其他Java SNMP库,所以需要你自己搜索。
    【解决方案2】:

    您遇到的性能问题与 SNMP4J 无关。我会怀疑您的测试用例存在一些编程问题。 SNMP4J 完全能够“直接”(使用 GET PDU)获取任何标准或自定义 MIB 的度量值。

    我不知道有任何“更高级”的 API。 SNMP4J 完全实现了所有 SNMP 标准。那你错过了什么?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      相关资源
      最近更新 更多