Iperf从一个接口到另一个在同一台计算机上?

我需要testing一台服务器的networking吞吐量(这是一个长久的故事!)。

我喜欢Iperf并在整个networking中使用它,但是,我只是无法弄清楚如何将它绑定到一个单一的界面,只能通过它来监听。

从文档中,我会假设这将工作:iperf -B eth0 -s将一个实例绑定到eth0,然后在另一个会话中:iperf -B eth1 -c ip.of.eth.1。

这根本不起作用,实际上失败了。 如果我使用ip而不是接口,它可以工作,但吞吐量是29Gb / s – 所以,除非有一个魔术发生,因为我有一个30Gb / s卡的超级服务器,我猜测我我甚至不接触networking,而只是在本地进行。

任何人都可以帮助我,或者知道更好的testing/工具吗?

是的,这个stream量是在本地传输的,没有到达物理接口。 它使用回送接口传送。 内核检测到目标是本地目标,所以stream量不经过eth0或eth1就回到了机器本身。

我知道这是旧的,但张贴万一它帮助其他人。

从iPerf 2用户文档引用

如果iPerf处于服务器模式,则使用-c指定主机将限制iPerf将接受的连接到指定的主机。 不适用于UDP。

我用这个在Windows 7 64位上从LAN到WiFi接口执行TCP吞吐量testing。 用iperf 2.0.8或2.0.5工作得很好,不知道其他版本。 看下面的命令使用。

iperf.exe -B 192.168.0.1 -s -c 192.168.0.2 -P 0 -i 1 -p 5001 -fm iperf.exe -B 192.168.0.2 -c 192.168.0.1 -P 1 -i 1 -p 5001 -fm -t 100 -F c:\data.bin