iperf 2.0.5 TCP双向测试输出乱序



我使用iperf version 2.0.5来测试两台机器(都运行Linux Debian 8)之间的TCP带宽。我在-d, --dualtest选项的帮助下使用双重测试来测量双向带宽,并且我有一个python包装器来获取测试结果(使用正则表达式),并且我依赖于iperf报告输出中两个结果的出现顺序。

然而,报告结果的出现顺序一直在变化,没有明显的原因。它们会像这样出现一次:

Client connecting to ServerIP, TCP port 5002
TCP window size: 0.08 MByte (default)
------------------------------------------------------------
[  5] local ClientIP port 53653 connected with ServerIP port 5002
[  4] local ClientIP port 5002 connected with ServerIP port 46306
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0-10.6 sec  3.00 MBytes  2.36 Mbits/sec
[  4]  0.0-10.7 sec  40.8 MBytes  32.0 Mbits/sec

,其他时候像这样:

Client connecting to ServerIP, TCP port 5002
TCP window size: 0.08 MByte (default)
------------------------------------------------------------
[  5] local ClientIP port 54043 connected with ServerIP port 5002
[  4] local ClientIP port 5002 connected with ServerIP port 46372
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.7 sec  40.8 MBytes  32.0 Mbits/sec
[  5]  0.0-10.7 sec  3.00 MBytes  2.36 Mbits/sec

我已经将包装器代码设置为假设第二个,它在最后一行中包含预期的更高带宽,并在它前面的行中包含另一个带宽。

  • 我如何强制iperf报告的某个输出顺序?
  • 为什么使用45作为ID?
  • 有没有办法决定什么id用的是数字吗?因为他们似乎从一个测试到另一个。即在时,使用67 ,例如它在不同的时间或不同的机器上运行。

我是这样在客户端机器上运行iperf的:

iperf -c  ServerIP  -d -p 5002  -f m

,这是在服务器上:

iperf -s -p 5002 -D

由于报告线程(输出报告)是与通信线程分开的线程,因此确实无法控制此排序。由于有两个线程"同时"启动并并行运行,因此这是一场流量线程先完成的竞赛。

作为旁注,iperf 2.0.5有已知的错误和性能增强,这些已经在2.0.9中得到了解决。

鲍勃

相关内容

  • 没有找到相关文章

最新更新