windows 和 ubuntu双系统利用iperf3 测试网络上下行带宽
本文介绍如何利用iperf3就行windows 和 ubuntu的带宽测试。本文的写作原因是在进行webrtc通信时发现带宽利用率极低,只有20M左右,而我设置的动态瓶颈带宽最低都有80M。一开始是想利用tcp连接不停发送数据来利用nload查看网络吞吐量观察带宽变化。实现之后发现因为每次写入的数据太小,完全无法达到测试带宽的目的(在一个无限循环种每次循环发送255(8bit),未设置休眠时间)。无奈之下只好放弃这个方案,最后看到iperf3可以完成这个工作。
首先是windows 和ubuntu下载iperf3。注意为避免麻烦最好两端都下载相同版本,windows上我只找到了iperf3,而ubuntu上之前装了一个iperf2,当我这样通信时发现会拒绝连接,最终两个都改成iperf3就能正常连接。
接下来进行一些指令介绍:
iperf3 -c ip_address: 将此端设置为client端,访问ip为ip_adress的server端。如果在server端没有设置端口号,采用默认端口的话就不需要用-p设置端口了,如果修改了最好还是设置一下,不过我并没有进行实验验证是否需要设置。
iperf3 -s:将此端设置为server端,windows和ubuntu的默认端口不同,需要注意区分,运行时会显示默认端口。
-b:设置参数bandwidth,udp默认1M,tcp无限制。
-u :采用udp传输,默认为tcp,所以只有测试udp的时候需要使用,需要配合-b
主要参数就是如上,接下来放一下在windows端的截图。
另外还需有一点要注意一下,我们的设置的目标带宽可能大于我们的自己带宽,这种情况下如果立刻在进行一次测试会发现有很高的丢包率,而且测出来的数据不准确。所以需要稍等一段时间在进行测试,猜测可能在清空消息队列或者把没发出去的都发出去。
24/07/14再进行更新,因为发现还有一个参数也比较重要。
在日常网络中我们都知道网络分为上下行的,而上下行网络不一定是对称的,那么如何测量上下行呢?
一个方法是我们测完一组c-s之后把两端置换一下,即把client设置为server把server设置为client。但是这种比较麻烦
iperf3在client端提供参数-R,将收发方进行翻转,十分方便就可以完成我们的目标
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix