【Iperf】iperf测试wlan的性能
1.概念:
iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。
iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。
利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
iperf分为两种版本,Unix/Linux版和Windows版,Unix/Linux版更新比较快,版本最新。
Windows版更新慢。Windows版的iperf叫jperf,或者xjperf。jperf是在iperf基础上开发了更好的UI和新的功能,简化了复杂命令行的参数构造,并保存测试结果,同时实时图形化显示结果。
当然,Jperf 可以测试TCP 和UDP带宽质量。Jperf 可以测量最大 TCP带宽,具有多种参数和UDP 特性。Jperf 可以报告带宽,延迟抖动和数据包丢失。
Linux 环境下,可以提高测试准确性。
Iperf 功能介绍:
1)TCP
·测量网络带宽
·报告 MSS/MTU 值的大小和观测值
·支持TCP 窗口值通过套接字缓冲
·当P 线程或 Win32 线程可用时,支持多线程。客户端与服务端支持同时多重连接
2)UDP
·客户端可以创建指定带宽的UDP 流,
·测量丢包
·测量延迟
·支持多播
·当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)
·在适当的地方,选项中可以使用 K 和 M,使输出更友好
·可以指定运行的总时间,甚至可以设置传输的数据总量
·服务器支持多重连接,而不是等待一个单线程测试
·在指定时间间隔重复显示网络带宽,波动和丢包情况
·服务器端可作为 Windows 服务运行
·使用典型数据流来测试链接层压缩对于可用带宽的影响
·支持传送指定文件,可以定性和定量测试
2.安装iperf
对于windows版的iperf,直接将解压出来的iperf.exe和cygwin1.dll复制到%systemroot%目录即可,
对于linux版的iperf,请使用如下命令安装: http://man.linuxde.net/iperf
gunzip -c iperf-<version>.tar.gz | tar -xvf -
cd iperf-<version>
./configure
make
make install
对于ubuntu系统的iperf 可用wget和apt-get两种方式进行下载,当前说明以apt-get来进行说明
ubuntu中由apt-get获得的文件包保存在/var/cache/apt/archives ,当前的获取到的压缩包如果是deb格式的,则当前可以用dpkg -i 压缩文件名字
下载文件位置可以在/etc/apt/source.list文件中指定。
3.使用
在路由器上可使用编译过的iperf程序,在手机上可以下载iperf app来进行测试
一、路由器上使用
1、将iperf上传到 /usr/sbin文件下,命令:tftp -gr iperf ip(iperf所在主机ip)
2、将库文件上传到lib目录下,命令:tftp -gr libuClibc++.so.0 ip(文件所在主机ip)
路由器:
使用tftp要让文件能够正常上传需要路由器能够ping得通主机ip
root@ROUTER:~# cd /usr/sbin
root@ROUTER:/usr/sbin# tftp -gr iperf 192.168.23.40(电脑ip)
root@ROUTER:/usr/sbin# ls | grep iperf
iperf
root@ROUTER:/usr/sbin# cd
root@ROUTER:~# cd /lib
root@ROUTER:/lib# tftp -gr libuClibc++.so.0 192.168.23.40
root@ROUTER:/lib# ls | grep libuClibc++.so.0
libuClibc++.so.0
二、iperf的使用参数说明:
可用iperf -h或iperf -help来查看具体命令
-s 以server模式启动,eg:iperf -s
-c host 以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23通用参数
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o c:\iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp协议
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包
server专用参数
-D 以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
client端专用参数
-d 同时进行双向传输测试
-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
-r 单独进行双向传输测试
-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
-F 指定需要传输的文件
-T 指定ttl值
操作举例:
1)TCP测试
服务器执行:#iperf -s -i 1 -w 1M
客户端执行:#iperf -c host -i 1 -w 1M
其中-w表示TCP window size,host需替换成服 务器地址。
2)UDP测试
服务器执行:#iperf -u -s
客户端执行:#iperf -u -c 10.32.0.254 -b 900M -i 1 -w 1M -t 60
其中-b表示 使用带宽数量,千兆链路使用90%容量进行测试就可以了。
几个命令参数:
#iperf -c 10.1.1.1 //客户端命令
iperf -s //服务端命令
-f [b|B|k|K|m|M|g|G] //f参数表示单位
-r //r参数表示双向数据测试,但要先测c到s的带宽
-d //d参数和r近似,并且功能更强,可同时测试双向数据
-w [2000] //w参数后跟数字,单位是byte,
-p [12000] //p参数可指定端口号
-t [20] //t参数默认表示测试10次,后加数字可以自己定义
-i [2] //i参数表示测试开始到结束的间隔时间,单位s
-u -b 10m //udp 10mbps 测试
-m //最大mpu测试
-P //并行测试
-h //帮助
详情上网查看
参看链接
https://www.cnblogs.com/yingsong/p/5682080.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具