SNMP设备仿真

5
我们在Linux下拥有一个网络管理系统,使用C/C++和Perl编写。我们需要测试该系统的性能。是否有工具或方法可以模拟50000个SNMP设备?
我不知道还有什么需要补充的...请让我知道是否需要提供更多信息。
任何想法都会受到赞赏。
谢谢 Bogdan
5个回答

3
你可以尝试使用开源软件Raddle,它是用Perl编写的,并基于honeyd,可以模拟多达65536个主机。

3

2
感谢您的回答。这是我们目前解决这个问题的方法:
  1. 我们有一个Linux VM,其中有1个接口(eth0)。
  2. 我们添加了50,000个虚拟接口(eth0:1、eth0:2等)。
  3. 一个SNMP守护进程已启动,并通过所有IP地址响应请求。
这样,我们在网络中有50K个IP地址可以响应SNMP请求。
不过,我正在调查Raddle。如果合适的话,我们将切换到这个解决方案。
谢谢, Bogdan

我最近尝试了这种方法,但它有一个缺点:在这台机器上运行的SNMP代理(net-snmp)提供有关所有虚拟接口的信息(在mib-2 ifTable、ipAddrTable、ipRouteTable等中),这可能会对NMS处理这些虚拟主机的方式产生一些严重影响。因此,只要您不使用上述信息在NMS中执行某些操作,这种方法就可以使用。 - L.R.
你也会遇到性能问题,因为它是单线程的。 - Gambit Support

1

如果设备正在发送陷阱,您可以使用Net-SNMPsnmptrap来模拟发送大量陷阱的效果。


0

snmpsim 工具据说可以支持模拟约 50K 个代理。它可以通过在不同的 IP 上响应或对不同的 SNMPv1/v2c 社区名称或 SNMPv3 上下文名称来模拟不同的代理。

还有关于性能优化的hints


所有性能测试都需要考虑许多因素,包括NMS端的功率(例如线程数),查询频率,查询构建(变量,请求类型),模拟器资源(CPU,RAM,接口等)。进程上下文切换与线程相比极其昂贵。这就是为什么对于最苛刻的模拟有商业解决方案的原因。 - Gambit Support
绝对地说,snmpsim 不是最快的 SNMP 模拟器。另一方面,在产品性能测试阶段,你可以在云上部署尽需要的 snmpsim 实例。我不会因为性能而与 @GambitSupport 争论,只是指出我们拥有的选择。;-) - Ilya Etingof

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接