如何使用iperf测试一个客户端和多个服务器的吞吐量?

问题描述 投票:0回答:1

作为标题,我想测试包含2个服务器(h1,h3)的网络的吞吐量,只有1个客户端(h2)以及主机和目标之间的一些交换机,拓扑结构可能如下所示,我使用mininet实现了拓扑结构,并使用pox控制器控制路由规则。

enter image description here

现在我想测试网络的吞吐量,我希望h3和h1同时将数据发送到h2,我怎样才能使用iperf呢?

我已经尝试了下面的代码(python代码),但是当h3-> h2的前10秒内的数据将消失(如果我在h1-> h2之前写了h3-> h2,而不是h1-的前10秒内的数据 - > h2会消失)

h1.cmd('iperf -s -p 5201 -u -i 1 > results &')
print h2.cmd('iperf -c 10.0.0.1 -p 5201 -u -b 10m -t 20')
h3.cmd('iperf -s -p 5205 -u -i 1 > results2 &')
print h2.cmd('iperf -c 10.0.0.3 -p 5205 -u -b 10m -t 20')
h1.cmd('kill %iperf') 
h3.cmd('kill %iperf')

我怎么能解决这个问题,或者有人可以告诉我如何让h3和h1同时使用其他方法将数据发送到h2,谢谢。

python networking mininet iperf pox
1个回答
-1
投票

您可能要考虑使用iperf 2.0.10+和基于asyncio的flows code,它需要python 3.5或更高版本。如果您尝试并有疑问,请告诉我。它确实假设ssh和无密码操作来控制运行iperf的主机。

© www.soinside.com 2019 - 2024. All rights reserved.