一、源码下载及交叉编译:

下载:https://pan.baidu.com/s/1i6NYDF3   //包含linux和windows上的可执行文件

1. 解压后获得perf-2.0.4源码。
2. cd iperf-2.0.4
3. ./configure --host=arm-linux CXX=arm-linux-androideabi-g++ CC=arm-linux-androideabi-gcc CFLAGS="-static -fPIE -fPIC" LDFLAGS="-static -fPIE -fPIC"   //静态编译
4. make   // 如果make报错:undefined reference to `rpl_malloc'   则到 config.h 中把 #define malloc rpl_malloc 注释掉。
5. src目录会生成一个iperf可执行文件,copy到目标板上执行。

 
二、iperf的使用 

Iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。 参数说明 -s 以server模式启动,eg:iperf -s -c 以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

例如,测试下载速率和吞吐量:

主机端输入 iperf -i 1 -c 192.168.2.5 -w 1M -t 1000
客户端输入 iperf -s -w 1M -i 1 -t 1000

-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2

iperf是client端向server端发送数据

server端显示的是接收速率,最好加i参数,进行速率跟踪

client 显示的是发送速率

server 显示接收速率

-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协议

测试htb的时候最好用udp,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 单独进行双向传输测试

-b 指定发送带宽,默认是1Mbit/s

在测试qos的时候,这是最有用的参数。

-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5

默认是10s

-F 指定需要传输的文件 -T 指定ttl值

Android : iperf-2.0.4 网络测试工具的更多相关文章

  1. IPerf——网络测试工具介绍与源码解析(4)

    上篇随笔讲到了TCP模式下的客户端,接下来会讲一下TCP模式普通场景下的服务端,说普通场景则是暂时不考虑双向测试的可能,毕竟了解一项东西还是先从简单的情况下入手会快些. 对于服务端,并不是我们认为的直 ...

  2. 网络测试工具--Iperf、Netperf 、MZ

    网络性能测量的五项指标 可用性(availability) 响应时间(response time) 网络利用率(network utilization) 网络吞吐量(network throughpu ...

  3. iperf网络测试工具

    iperf https://sourceforge.net/projects/iperf/ http://downloads.es.net/pub/iperf/ https://github.com/ ...

  4. 网络测试工具netperf(转)

    http://pangyi.github.io/blog/20141210/wang-luo-ce-shi-gong-ju-netperf/ 网络测试工具netperf 2014年12月10日 一般我 ...

  5. TCP/UDP网络性能测试工具 - Netperf (zz) ..网络测试工具

    在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多. 除了netperf以外.       还有很多其它的网络性能测试工具.       如db, ...

  6. [Android] 环境配置之正式版Android Studio 1.0

    昨天看见 Android Studio 1.0 正式版本发布了:心里挺高兴的. 算是忠实用户了吧,从去年开发者大会一开始出现 AS 后就开始使用了:也是从那时开始就基本没有用过 Eclipse 了:一 ...

  7. Windows环境下Android Studio v1.0安装教程

    Windows环境下Android Studio v1.0安装教程 准备工具 JDK安装包. 要求:JDK 7以及以上版本. Android Studio安装文件. Windows: exe(包含SD ...

  8. Windows8下PhoneGap 4 + Android Studio 1.0 + VS2013配置指南

    1.准备工作 安装JDK1.6+,设置环境变量 JAVA_HOME C:\Program Files\Java\jdk1.5.0_07 CLASSPATH .;%JAVA_HOME%\lib Path ...

  9. Android SDK 4.0.3 开发环境配置及运行

    最近又装了一次最新版本的ADK环境 目前最新版是Android SDK 4.0.3 本文的插图和文本虽然是Android2.2的 步骤都是一样的,如果安装的过程中遇到什么问题,可以留言,我会尽快回复! ...

随机推荐

  1. python如何判断一个字符串是中文,还是英文。

    参考链接: https://blog.csdn.net/hit0803107/article/details/52885702 decode:  将其它编码转成  ===>unicode enc ...

  2. centos7: php7.2.9安装配置

    下载php http://cn2.php.net/distributions/php-7.2.9.tar.gz 解压到: /usr/local/src/ 接下来进行参数配置,配置前如果没有libxml ...

  3. 图像识别 | AI在医学上的应用 | 深度学习 | 迁移学习

    参考:登上<Cell>封面的AI医疗影像诊断系统:机器之心专访UCSD张康教授 Identifying Medical Diagnoses and Treatable Diseases b ...

  4. Practical Node.js (2018版) 第7章:Boosting Node.js and Mongoose

    参考:博客 https://www.cnblogs.com/chentianwei/p/10268346.html 参考: mongoose官网(https://mongoosejs.com/docs ...

  5. Confluence 6 自定义你的空间

    通过对你的空间进行界面的自定义能够让你的空间更加出类拔萃. 如果你具有空间管理员权限,你可以修改你空间的颜色配色,添加你自己的空间标识,选择是否在你空间中显示边栏.或者你可以进入 Atlassian ...

  6. Python Signal 信号

    https://blog.csdn.net/kongxx/article/details/50976802 http://blog.itpub.net/7728585/viewspace-214206 ...

  7. React文档(六)state和生命周期

    想一下之前的章节时钟的例子. 目前为止我们只学习了一直方式去更新UI. 我们调用ReactDOM.render()方法去改变渲染的输出: function tick() { const element ...

  8. WDA基础六:字段,表等visiable,enable,read_only控制

    今天主要讲一下布局控制:(visiable,enable,read_only) visiable:可见性,控制字段,组件,分组等是否现实在界面上.一般按条件来控制隐藏的可以在CONTEXT NODE里 ...

  9. NPM版本号

    使用NPM下载和发布代码时都会接触到版本号.NPM使用语义版本号来管理代码,这里简单介绍一下. 语义版本号分为X.Y.Z三位,分别代表主版本号.次版本号和补丁版本号.当代码变更时,版本号按以下原则更新 ...

  10. eclipse启动自己添加的tomcat时tomcat的webapps下没有项目

    启动项目后去Tomcat webapps找对应文件夹,发现没有,Eclipse 默认不往本地Tomcat部署. 1.eclipse不像MyEclipse默认将项目部署到tomcat安装目录下的weba ...