Jac*_*Lee 6 performance ethernet stress
我有一张带有两个 10G 端口的以太网卡。我无法验证端口性能,也无法使用不同的系统对卡进行压力测试。我想通过连接单卡上同一适配器上的端口 A 和端口 B 来验证端口性能和压力测试,为每个端口分配一个 IP 地址,然后使用 iPerf 进行测试?
听说这样一来,由于是在同一个操作系统下,所以两个端口之间不会产生实际的流量。
有人建议我在同一系统上创建一个虚拟机来分隔两个端口,以便它可以产生实际流量来验证性能和压力测试,这是正确的吗?
如果我无法连接两个端口来验证性能,下面的拓扑怎么样?
端口 A -> 交换机 -> 端口 B,其中交换机配置为将数据包转发到端口 B。
这种方式能带来实际流量吗?
我现在没有一个好的方法来测试这一点,但我会尝试使用命名空间来隔离接口,然后像使用两个不同的系统一样测试它们。
ip netns add test1
ip netns add test2
ip link set eth0 netns test1
ip link set eth1 netns test2
Run Code Online (Sandbox Code Playgroud)
ip netns exec test1 bash然后,您可以使用和获取两个命名空间中的 shell ip netns exec test2 bash,然后按照您所描述的方式运行测试。
删除这些命名空间ip netns del testX将使您的接口恢复到正常配置,但为了完整起见,您也可以手动将它们移回原来的状态。
要将接口移回默认命名空间,您可以ip link set ethX netns 1在每个命名空间 shell 或ip -n testX link set ethY netns 1默认命名空间中使用。在这些命令中,1指的是您要使用的命名空间中进程的 PID,在本例中init为进程,它作为系统的默认值。