hp的SNMP++开发包简单易学,但是本人最近使用它开发一种网管软件时遇到了效率问题。情景是我需要从多台设备中取出多个OID对应值,其中不少操作需要用到get_next做便利操作,且数据量特别大。我的方式是使用阻塞API和多线程配合的方式,结果发现多线程似乎没有起到什么作用,程序流程似乎仍然是串行的,即使是针对不同的IP的查询操作仍然是如此,怀疑SNMP++内部有某种全局临界区。目前的主要问题是:
1、如何一次性获取大量数据,我看hp的文档似乎说v2版本的get_bulk实际上内部使用了get_next机制(能提高效率吗)。
2、如何让多线程能够并行或并发的查询数据。谢谢诸位路过大神能给与解答。