发送侧的iperf3-udp无声间隙



我使用iperf3.7来测量系统的吞吐量,该系统的最大吞吐量约为4 Gbps。

iperf3服务器正在Linux计算机上运行。我在客户端使用此命令启动流量,并使用以下标志,-R选项让服务器发送到客户端:iperf3-c 32.0.161.84-u-l 1360-b 550M-P 8-w 16M-R-t 3000

大多数时候,一切都如预期的那样工作,我收到的数据大约是4 Gbps。但在某些情况下,比如10次迭代中的1-2次,我收到的吞吐量低于预期。低多少似乎是随机的,可能是2Gbps或3或3.5。当我得到低吞吐量的场景时,它通常会在几分钟内保持低吞吐量。有时,几分钟后,它可以自行恢复到最高速度,有时它会在低位停留更长时间。当我得到这种低吞吐量的场景时,如果停止流量并重新启动,并且在这种情况下,客户端在每次迭代时都会收到一个新的ip地址,因为它是动态分配给客户端的,那么我就可以得到一个好的吞吐量场景。

查看发送服务器端的打印输出,它显示它发送了8x550M,我还查看了ifstat,它也显示它发送4400 Mbps。

仍然接收侧接收较低的速度。

将iperf客户端(发送端(运行的机器的以太网卡镜像到wireshark中,显示不时有10.8毫秒的静默间隔,这可以解释接收到的较低速率。

wireshark捕获

在这个有wireshark的例子中,流量是4.4 Gbps,然后突然之间,它似乎是10.8毫秒的静默间隙,我们丢失了4486个1360字节的ip帧。这可以解释为什么流量会在一段时间内下降到3 Gbps。

有人知道为什么会发生这种情况吗?这是否是一个已知的问题,可能会在3.8或3.9的后续版本中得到解决?任何额外的标志都有助于避免这种情况?我试着在不同的Linux机器上运行服务器,但出现了同样的问题,所以我不认为这是机器本身的问题。

BR Niklas

我们将日志记录技术更改为net sniff,然后当吞吐量降低时,我们再也看不到差距了。因此,我最初提到的差距并不是真正的差距,更可能是日志中的一个错误。因此,我们认为iperf3可以正常工作,并认为较低的吞吐量是由于网络中的某些因素造成的。

最新更新