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. 使用cydia substrate 来进行android native hook

      cydia不仅可以hook java代码,同样可以hook native代码,下面举一个例子来进行android native hook 我是在网上找到的supermathhook这个项目,在他基 ...

  2. Centos7安装配置JDK8

    Centos7安装配置JDK8 一.准备工作 第一步,去甲骨文官网下载Jdk相应的版本,我这里下载的是jdk1.8. 第二步将你从官网上下载下来的jdk使用FTP工具上传到云服务器上的相应目录,我的是 ...

  3. unit vs单元测试

    vs单元测试(unit) 一.什么是单元测试及它的作用? 在小量代码编写时,往往可以通过新建控制台项目(Console Application),新建网站项目(Web Form)等,在其中敲入测试代码 ...

  4. [转]10分钟梳理MySQL知识点:揭秘亿级高并发数据库调优与最佳实践法则

    转:https://mp.weixin.qq.com/s/RYIiHAHHStIMftQT6lQSgA 做业务,要懂基本的SQL语句: 做性能优化,要懂索引,懂引擎: 做分库分表,要懂主从,懂读写分离 ...

  5. async/await 处理异步

    async/ await来发送异步请求,从服务端获取数据,代码很简洁,同时async/await 已经被标准化. 先说一下async的用法,它作为一个关键字放到函数前面,用于表示函数是一个异步函数,因 ...

  6. linux 基本概念

    Linux把物理内存分为了固定统一大小的块,称为page(页框),一般为4KB. Linux采用4KB页框大小作为标准的物理内存分配单元,内核用数据结构page描述一个页框的状态信息,其实页是进程的概 ...

  7. README.md使用

    1.标题: # 一级标题 ## 二级标题 ### 三级标题 2.换行: <br> 3.代码: ``` 代码在中间 ``` 4.表格: 表头 | 表头 | 表头 ---- | ----- | ...

  8. java 的开发工具IDEA使用 中Debug 调试工具使用

    IDEA JetBrains(这个公司的名称翻译过来就是“大脑喷射?”) 公司的宣传语是这么说的:Develop with pleasure!(带着快乐开发!)   话不多说 开始debug   1, ...

  9. LUNA16数据集(一)简介

    LUNA16,全称Lung Nodule Analysis 16,是16年推出的一个肺部结节检测数据集,旨在作为评估各种CAD(computer aid detection计算机辅助检测系统)的ban ...

  10. P4245 【模板】任意模数NTT

    Luogu4245 只要做三次的NTT,快的飞起 普通NTT,做9次 #include<cstdio> #include<cstring> #include<iostre ...