微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不同版本的iperf for windows会产生完全不同的结果

测量从 Windows客户端到Solaris服务器的TCP输出
WXP SP3与iperf 1.7.0 – >返回平均约90Mbit
相同的客户端,相同的服务器,但Windows的iperf 2.0.5 – >返回平均8.5 Mbit

观察到与其他服务器相关的类似差异(W2008,W2003)

当同一工具的不同版本提供截然不同的结果时,很难得出一些结论.

示例如下:

C:\temp>iperf -v (from iperf.fr)
iperf version 2.0.5 (08 Jul 2010) pthreads

C:\temp>iperf -c solaris10
Client connecting to solaris10,TCP port 5001
TCP window size: 64.0 KByte (default)

[ 3] local 10.172.181.159 port 2124 connected with 10.172.180.209 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.2 sec 10.6 MBytes 8.74 Mbits/sec

糟糕的性能,但现在我用相同的主机(Windows XP SP3 32位和100Mbit)测试同一台服务器(Solaris 10 / sparc 64bit和1Gbit运行iperf 2.0.5,认窗口为48k)与旧的iperf

C:\temp>1iperf -v
iperf version 1.7.0 (13 Mar 2003) win32 threads

C:\temp>1iperf.exe -c solaris10 -w64k
Client connecting to solaris10,TCP port 5001
TCP window size: 64.0 KByte

[1208] local 10.172.181.159 port 2128 connected with 10.172.180.209 port 5001
[ ID] Interval Transfer Bandwidth
[1208] 0.0-10.0 sec 112 MBytes 94.0 Mbits/sec

因此,一个带有64k窗口的iperf表示8.75Mbit和具有相同窗口大小的旧iperf
说94.0Mbit.通过重复测试,这些结果是恒定的.

从我的测试启动窗口大小为“x”的iperf(旧)和窗口大小为“x”的iperf(新)而不是产生相同或非常接近的结果产生完全不同的结果.
我看到的唯一区别是旧编译为win32线程与pthreads,但并行性(-P 10)似乎在两者中都有效.

任何人都有线索或可以推荐一个工具,给出我可以信任的结果?

编辑:查看来自(旧)iperf的跟踪它在SYN数据包中将TCP窗口比例标志设置为3,当我运行(新)iperf时,在初始数据包中将其设置为0.通过交换快速分析窗口大小显示(旧)iperf来回移动,但大部分是32k,而(新)iperf大多保持在64k.也许它会帮助某人连接点.

您拥有的更高版本的iperf正在使用不同的线程库(win32线程与pthread).仅这一点就可以解释性能上的差异.

iperf的1.x和2.x之间可能存在一些其他代码差异.它可以很简单,就像认选项从1.x更改为2.x(例如TCP_WINDOW_SIZE,…).

确保两者都使用TCP(或udp),例如通过使用–udp选项重新运行.

您可以尝试使用iperf-users邮件列表存档,甚至可以在那里发布您的问题.

原文地址:https://www.jb51.cc/windows/366047.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐