我试图通过在我的设备上运行iperf做一些带宽testing,
我的networking最大带宽是100 Mbps(testing通过速度testingCLI – https://github.com/sivel/speedtest-cli )
我运行了iperf UDP带宽testing(就像这个$(iperf3 -c $ server_ip -u -b 500M))
然后我得到结果(客户端消息中差不多500Mbps)
结果是正确的吗?
现在我想所有的可能性是,客户端iperf只是计算发送者带宽(因为UDP)
使用UDP时,你应该确认服务器端的输出。 UDP没有拥塞控制,所以是的,客户端只是创build一个恒定的比特率stream。 但是,服务器端的iperf将显示收到的比特率,以及抖动和数据包丢失。
什么是使用UDP的原因? 这对于特殊情况非常有用,比如检查各种数据包大小的抖动。 在这种情况下,TCP对于iperf更有用(如果客户端和服务器之间的延迟较大,则可能需要调整窗口大小)。
以下是服务器端UDP模式的输出示例:
[ 3] local 10.50.15.19 port 5001 connected with 10.50.200.226 port 53516 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 1.326 ms 0/ 893 (0%) [ 4] local 10.50.15.19 port 5001 connected with 10.50.200.226 port 57697 [ 4] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 2.775 ms 1/ 892 (0.11%) [ 4] 0.0-10.0 sec 2 datagrams received out-of-order
udp是一个尽力而为的协议,所以iperf可能不检查数据包是否真的到达。 此外-b设置“以每秒/秒或每秒数据包发送的带宽”,您设置为500M。 所以我想你只是testing你的网卡驱动可以以500Mbps的速度发送。
如果要testing节点之间的networkingpath,我不会使用udp或限制带宽。 即。 只是iperf -c server_ip