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

【Iperf】iperf测试wlan的性能的更多相关文章

  1. 使用iperf测试网卡吞吐性能

    原 使用iperf测试网卡吞吐性能 2018年12月17日 12:38:41 lancewoo 阅读数:138   首先配置待测试的两个网卡的网络地址到同一网段,保证ping对方的IP地址时可以通.两 ...

  2. iperf 一个测试网络吞吐的工具

    在分布式文件系统开发和测试过程中,我们经常需要测试真实的网络带宽,来进行估测分布式系统的传输性能,所以我们要对现有的网络进行测试:Iperf 是一个网络性能测试工具.IPerf可以测试最大的TCP和U ...

  3. iperf—流量测试

    iperf是另外一款用于流量测试的软件,主要运行于Windows系统和安卓系统的手机/PAD(IOS系统下载需要收费). 一个工作在Server模式,另外一个工作在Client模式,输入Server的 ...

  4. 查看SQL语句执行时间与测试SQL语句性能

    查看SQL语句执行时间与测试SQL语句性能 写程序的人,往往需要分析所写的SQL语句是否够优化.是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了 ...

  5. Linux如何查看与测试磁盘IO性能

    1. 查看磁盘 IO 性能 1.1 top 命令 top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 ...

  6. Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档

    Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.hparm        # 它用来在基于 Linux的系统上获取或 ...

  7. [记录]FIO测试磁盘iops性能

    FIO测试磁盘iops性能 1.SATA和SAS盘原生IOPS如下: 2.RAID磁盘阵列对应的写惩罚级别: 3.计算功能性IOPS公式如下: 功能性 IOPS=(((总原生 IOPS×写 %))/( ...

  8. python测试mysql写入性能完整实例

    这篇文章主要介绍了python测试mysql写入性能完整实例,具有一定借鉴价值,需要的朋友可以参考下 本文主要研究的是python测试mysql写入性能,分享了一则完整代码,具体介绍如下. 测试环境: ...

  9. Nginx网络架构实战学习笔记(五):大访问量优化整体思路、ab压力测试及nginx性能统计模块、nginx单机1w并发优化

    文章目录 大访问量优化整体思路 ab压力测试及nginx性能统计模块 ab压力测试及nginx性能统计模块 ab压力测试 nginx性能统计模块 nginx单机1w并发优化 整装待发: socket ...

随机推荐

  1. 洛谷P3413 SAC#1 - 萌数(数位dp)

    题目描述 辣鸡蒟蒻SOL是一个傻逼,他居然觉得数很萌! 好在在他眼里,并不是所有数都是萌的.只有满足“存在长度至少为2的回文子串”的数是萌的——也就是说,101是萌的,因为101本身就是一个回文数:1 ...

  2. Oracle恢复表数据

    Oracle恢复数据 在oracle 10g以及之后的版本,提供了回收站的机制,为了防止误操作将表数据清空而有回收机制. 换句话说,我们删除的表不会立马消失,而是进入回收站.下面我们可以查看回收站 查 ...

  3. swift基础语法之——变量和常量

    swift使用let关键字来定义常量,使用var来定义变量,变量在使用前必须初始化(赋初始值) swift是类型安全语音,即不同类型的变量不能一起运算,必须转成同一类型才可以 变量的类型在声明时不必给 ...

  4. javascript小菜单—demo

    <!DOCTYPE html><html><head> <title></title></head><body>&l ...

  5. Qt 学习之路 2(3):Hello, world!

     豆子  2012年8月22日  Qt 学习之路 2  107条评论 想要学习 Qt 开发,首先要搭建 Qt 开发环境.好在现在搭建 Qt 开发环境还是比较简单的.我们可以到 Qt 官方网站找到最新版 ...

  6. poi+properties文件实现多环境测试数据一键切换

    在项目的接口测试过程中,之前的测试数据都是测试环境下的,长期在测试环境下运行. 目前希望通过很小的代价切换到线上环境运行. 考虑之下,决定使用poi包加上property文件来实现线上线下的数据切换. ...

  7. IDEA 文档注释 乱码 终极... 解决方案

    idea bin 目录 下           phpstorm64.exe.vmoptions  最后一行添加  : -Dfile.encoding=UTF-8

  8. POJ-1128-Frame Stacking

    链接:https://vjudge.net/problem/POJ-1128 题意: 每张图片上面画了一些边框,给出这些边框叠在一起后的图片,图片边框一定是由一个字母表示并且每条边至少三个字符,输入保 ...

  9. gym 101889I Imperial roads 最小生成树+LCA

    题目传送门 题意: 给出一幅无向带权图,q次询问,每次询问都求一棵包含给出的边的最小生成树. 思路: 首先求出最小生成树(kruskal),如果查询的边在最小生成树上,肯定是直接输出最小生成树,如果不 ...

  10. lintcode - 被围绕的区域

    class Solution { public: /* * @param board: board a 2D board containing 'X' and 'O' * @return: nothi ...