我想进行网络性能基准测试,因此需要在网络中生成 10 Gbps 流量。节点运行的是 RHEL 5.x。有人能告诉我合适的二进制文件等吗?
我们可以使用 iperf 和 netperf 命令来执行这个测试吗?
答案1
是的,iperf
这是正确的工具。确保使用较长的间隔以允许流量增长到 10GbE 速度。您可能还必须修改 TCP 窗口大小以达到完全饱和。以下是一些示例命令行...
在服务器端:
iperf -s
在客户端:
iperf -c server.ip.address -w64k -t60
答案2
当然可以。
要注意的一点iperf
是,CPU 可能会出现瓶颈 - 默认情况下,它使用随机数据来抵消任何棘手的数据压缩或重复数据删除的影响。
如果您有足够的节点,那么使用默认值应该没有问题;如果您发现 CPU 被卡住,则将输入覆盖为一些不太密集的内容:-F /dev/zero
此外,根据延迟,TCP 的 ACK 可能会减慢您的速度。要淹没管道,请使用 UDP -u
。
您是否真正能够生成 10 Gbps 的数据完全取决于您的节点及其网络上行链路的性能。
答案3
为了获得超过 1Gbps 的速度,-P旗帜将会帮助你。
iperf -c server.ip.example.com -P8 -w64k
从iperf 实用程序:
-P, --parallel n
number of parallel client threads to run
你不需要在服务器端做任何特别的事情。只需运行iperf-s - s。