2024-05-16 18:12:48 发布
网友
我需要用简单的snmpget查询询问4000个主机。我把netsnmp用于线程,pynetsnmp用于twisted,它的工作速度非常快(不到1分钟)。我尝试将pysnmp与AsyncCommandGenerator和pysnmp with twisted (i've fixed that example with one instance of SnmpEngine)一起使用
花了10多分钟。我做错什么了吗?pysnmp应该这么慢吗?在
编辑:添加了pastebin示例
请发布您当前版本的脚本。在
在您参考的代码中,您可以尝试优化以下部分:
addV1System() addTargetParams() addSocketTransport()
当你用相同的参数多次调用它们时调用。在
换句话说,如果您查询的4000个主机中唯一不同的是主机地址,那么您需要重复的唯一调用就是addTargetAddr()。否则,您将在每个请求上重新配置SNMP引擎。在
为了更好地估计pysnmp的性能,可以考虑运行配置了要查询的4000个主机的the following example。在
如果您永远不需要SNMPv3,并且性能是您的首要任务,那么您可能希望使用pysnmp的low-level API。在
但是在任何情况下,从性能上讲,您永远不会接近C实现。;—)
编辑:添加了pastebin示例
请发布您当前版本的脚本。在
在您参考的代码中,您可以尝试优化以下部分:
当你用相同的参数多次调用它们时调用。在
换句话说,如果您查询的4000个主机中唯一不同的是主机地址,那么您需要重复的唯一调用就是addTargetAddr()。否则,您将在每个请求上重新配置SNMP引擎。在
为了更好地估计pysnmp的性能,可以考虑运行配置了要查询的4000个主机的the following example。在
如果您永远不需要SNMPv3,并且性能是您的首要任务,那么您可能希望使用pysnmp的low-level API。在
但是在任何情况下,从性能上讲,您永远不会接近C实现。;—)
相关问题 更多 >
编程相关推荐