点赞+关注 不错过精彩内容
大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作!
点击链接获得更好阅读体验:Wiki
iperf3是基于Client/Server的网络性能测试工具,通常用于测试网络上可达到的最大带宽,它能够测试TCP、UDP及SCTP的带宽质量,可以提供网络吞吐量、网络波动、网络丢包率以及最大传输单元大小等信息,能够帮助我们测试网络性能,定位网络瓶颈。可在Linux、MacOS、FreeBSD、Window、Android、iOS、Docker等平台使用,是一个简单实用的小工具。
一、测试准备工作
1)iperf3下载
iperf3官方下载地址:点击进入官网下载
iperf3源码GitHub地址:点击进入GitHub
下载准备好的文件:
文件里面有cygwin1、Iperf需要拷贝到电脑D盘WIFI目录下(电脑任何盘都可以)如下图:
2)iperf3安装
- Linux CentOS中安装
dnf install iperf3 -y
查看iperf3版本
- Windows安装
根据系统选择64bit或32bit下载,window版本下载后是一个zip压缩包,解压后有以下两个文件
不用运行iperf3.exe文件,具体请查看下文介绍的使用方法
- Android安装
支持iperf的app有很多,这里使用he.net - Network Tools 软件,它是一个综合型的网络测试工具,iperf3只是其中一项,通过官网地址下载需要kexue上网才能成功,此处提供一个安装包Network Tools-APP,提取码:y9rd,在手机上安装软件即可
二、测试方法
要执行iperf3测试,用户必须同时建立服务器和客户端。
下面是测试步骤:
- 首先需要在一台设备上先运行iperf服务器(服务端),并在另一台计算机上运行iperf客户端。
- 客户端向服务器发起连接并进行数据传输,从而测量网络带宽和延迟等指标。
三、常用命令和参数
iperf3常用参数
通用参数:
-v # 查看版本信息 -p # 端口 -f # 指定带宽输出格式: Kbits、Mbits、Gbits、Tbits -i # 监控报告时间间隔,单位秒(s) -J # Json格式输出结果 --logfile # 将结果输出到指定文件中
服务端参数:
-s # 以服务器模式运行 -D # 后台运行服务器模式
客户端参数:
-c # 以客户端模式运行,连接到服务端 -t # 传输时间,默认10秒 -n # 传输内容大小,不能与-t同时使用 -b # 目标比特率(0表示无限)(UDP默认1Mbit/sec,TCP不受限制) -l # 要读取或写入的缓冲区长度(TCP默认128 KB,UDP默认1460) -O # 忽略前几秒 -R # 反向模式运行,即服务端发送,客户端接收 -u # 使用UDP协议,默认使用TCP协议 --get-server-output #输出服务端的结果
更多参数请通过帮助命令iperf3 --help查看
四、示例说明
- 在一台设备上建立服务器
- 用wifi和另一台设备建立连接
- 查看第一台设备的IP地址和第二台设备IP地址
- 输入命令:iperf -c 192.168.42.129 -i 10 -t 30 可以看到结果
命令解释:
这是一个iperf命令,用于测试网络带宽。
-c 192.168.42.129 指定了目标IP地址为192.168.42.129,表示连接到该IP地址进行带宽测试。
-i 10 表示每10秒输出一次测试结果。
-t 30 表示进行测试的时间为30秒。
总结:该命令的含义是在连接到192.168.42.129的目标主机上进行持续30秒的带宽测试,并每10秒输出一次测试结果。
五、注意事项
- 在进行iperf测试之前,确保服务器端和客户端之间的网络连接正常。
- 当使用UDP模式时,要注意设置合适的带宽限制,以避免网络拥塞和数据丢失。
- 可以根据需要调整测试时间、报告间隔和数据包大小等参数,以获得更准确的结果。
作 者 :硬核王同学
------------ END ------------
如果觉得有用请点个免费三连
您的支持就是我最大的动力,这对我很重要! !