在测试交换机(或路由)时,是如何给 cpu 加压的
很多年前的事情了。。。。
发包仪器写报文发流。
思伯伦有个设备叫 testcenter,发大流量
iperf 和 iperf3 给路由器设备打流。 或者让你们研发用 C 或者 C++ 写个程序一直消耗固定的 cpu 就可以了,
iperf 可以用于路由器打流吗,我之前使用 iperf 只要用来给服务器的 cpu 加压,没试过给路由器,我去研究一下。还有写 cpu 消耗程序这个可能比较难跟开发沟通,毕竟我已经到了系统测试阶段,用不到代码层面的测试。不过也学到了方法,如果涉及到单元测试可能可以试试,非常感谢
这个写程序实际上非常简单,可以让开发帮忙的,就几行代码的事。我之前问过我们的开发,奈何本人实在 C 语言拉胯。写程序应该是最简单的,iperf 波动比较大。 或者直接在网上找也可以呀,shell 脚本也可以的,网上应该也一堆。
一般情况下交换机设备的流量按处理方式可分为两类:1、数据报文。此类报文在转发芯片中根据硬件转发表 (MAC 表、路由表、ACL) 的查询结果进行 硬件转发。2、协议报文。此类报文会命中特定 ACL 或者主机路由,报文会被放入特定的 CPU 端口队列,通过转发芯片与 CPU 之间的硬件通道上送 CPU。此类报文常用的有 ARP/STP/LACP/OSPF/ISIS/ICMP/DHCP 等。对 CPU 能够形成压力的就是大量的各种上送 CPU 的协议报文。为防止大量协议报文上送冲击 CPU,交换机/路由器设备对每一种上送 CPU 处理的报文上送速率都进行了限制。
实际使用过程中导致 CPU 利用率升高的场景主要有:1、网管频繁访问端口相关 mib 节点信息,数目越多、访问的节点越多、访问间隔越短,对 cpu 压力越大。2、大规模的路由震荡,导致设备频繁计算路由,占用 CPU 资源。3、STP 状态频繁震荡,设备收到大量 TC 报文后删除 MAC、ARP。4、恶意攻击报文,如 ARP、DHCP、ICMP 等协议报文攻击。5、设备上配置 netstream、sflow 特性,配置端口较多,报文采样率小,采样端口流量大。
所以,如果想在测试过程中给 CPU 加压,可以使用测试仪器模拟上述的场景。之前用的最多的就是通过路由震荡。