海思编译iperf3
① ubuntu怎么安装iperf
1.命令:sudo apt-get install 后面加软件名(记得TAB)
2.到ubuntu软件中心图形界面安装
3.到系统-系统管理-新立得软件包管理 安装
4.到网上下载deb包双击安装
5.到网上下载软件的源代码编译安装(阅读里面的README文件)
6.等等
② 基于Ubuntu系统的iperf3的安装和使用
白话文的讲,iperf3就是一个网络链路质量检测的一个工具。说到网络链路这就涉及到两端,顾名思义就是要部署两台。
数据中心A和数据中心B都部署相同版本的iperf3工具,当然也可以使用不同版本的。本人强迫症~
通过拓扑可以看到,有两台iperf3服务器,一台在数据中心A架构中,一台在数据中心B架构中。
首先通过静态路由保证两端可以正常通讯,这一步如果没问题就可以进行下一步。
如果不指定-b参数,那么链路将以最大带宽值值去传输,如果专线是50兆,那么就是50兆的带宽去传输。如果结果显示是低于50兆的,那么可以确定专线的质量没有达到指定数值。
得出的结果就是在传输过程中没有丢包,丢包率为0%
③ iperf -r 和-d 双向测试是什么意思是client和server相互发包么
iperf是一个TCP/IP和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。iperf是开源的。
提起iperf,想必大家都知道它是用了测试网络性能的。具体说来,Iperf是美国伊利诺斯大学(University of Illinois)开发的一种开源的网络性能测试工具。
可以用来测试网络节点间(也包括回环)TCP或UDP连接的性能,包括带宽、抖动以及丢包率,其中抖动和丢包率适应于UDP测试,而带宽测试适应于TCP和UDP。
(3)海思编译iperf3扩展阅读:
iperf 分为两种版本,unix/linux版和windows版,unix/linux版更新比较快,版本最新。windows版更新慢。windows版的iperf叫jperf,或者xjperf。jperf是在iperf基础上开发了更好的UI和新的功能。
iperf的参数
[root]# iperf -h
Usage: iperf [-s|-c host] [options]
iperf [-h|--help] [-v|--version]
④ iperf 和 iperf3 工具的一个有意思的区别
接口限速功能测试的时候发现一个问题,使用iperf3打流总是打不满接口上配置的速率,而使用iperf却可以。而且在使用iperf3 的时候,我尝试过调大接口限速所使用的令牌桶的桶深,发现桶深达到一定程度的时候,流量可以达到接口速率。很容易让人想到突发流量导致丢包,从而导致无法打满接口速率。
令牌桶算法的桶深就是为突发流量提供一个缓冲,以使限速可以更加平滑,一般至少大于接口MTU,一些厂家会提供一些计算方式,如juniper就有一段描述( https://www.juniper.net/documentation/en_US/junos/topics/concept/policer-mx-m120-m320-burstsize-determining.html ) ,但效果还是需要根据实际需求调整。桶深在流量持续且均匀的时候作用不大,但在有突发流的情况下作用很大。配置太小,会丢弃大量的突发报文,效果上看实际速率会小于接口限速;配置太大,在持续突发流的情况下,会放过很多需要限速的报文,效果上看实际速率会大于接口限速,但这种情况使用iperf工具很难构造,需要改写软件,或者使用专业的打流测试仪(非常贵)。
那iperf3打的是突发流?iperf打的较均匀的流量吗?一般一个工具的不同版本不会有着么大的差别,但不需要看源码,抓个包看看就行了,也不浪费时间。
如上图,iperf3工具每100ms发一轮报文,每次在2、3ms内瞬间发完;
如上图,iperf工具则均匀的发送报文,证明 iperf 和 iperf3的发包机制确实是有差别的,接口限速使用 iperf3 作为测试工具需要调整令牌桶参数以达到最佳效果。
⑤ linux网卡压力测试iperf 时间没有跑完停了是什么原因
Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失
因为产品上确定要要用的PHY是千M的,但模块接口又定义死了,只能用到100M。所以想测试下割掉几根线试下100M可行不。在测之前先测下千M模式下到底性能怎么样,之前别人一直说这我手头上这颗ARM根本上不了千M,虽然他标称的是可以支持千M。一准备工作做好了,开始。
我们使用的工具是iperf这个工具我是自己编译的。现在将我的过程写下来。iperf下载地址
先编译PC端工具:
1.解压源码:
$ tar xzvf iperf-2.0.5.tar.gz
2.进入源码目录
$ cd iperf-2.0.5
3.配置源码 编译PC下的不用指定参数,用默认的即可
$ ./configure
4.编译 后面的-j4不是必须的。
$ make -j4
5.安装 这里要注意要用管理员权限
# make install
$ iperf -s 就可以启动服务端。
ARM端:
1.清理源码(就是刚才编译过的源码)
$ make distclean
2.设置环境变量 (就是你的ARM交叉编译工具链,根据自己的实际情况改)
$ export PATH=/home/gavin/ti-sdk-am335x-evm-05.06.00.00/linux-devkit/bin:$PATH
3.配置 指定主机为ARM g++编译器和gcc 这里根据自己的实际情况改
$ ./configure --host=arm CXX=arm-arago-linux-gnueabi-g++ CC=arm-arago-linux-gnueabi-gcc
4.修改源码目录下面的config.h(没配置之前是没有这个文件的),注释掉 #define malloc rpl_malloc
5.编译
$ make -j4
在iperf-2.0.5/src/下会生成iperf这个文件,这个就是我们需要的。将这个文件拷到ARM的文件系统中去。这样PC端和ARM端的都有了。
至于iperf的使用,就不多介绍了,直接在网上一段下来。
⑥ iperf 服务器 客户端 测试结果速度不一样
网络平台搭建好了,服务器买好了,如何验证网络的吞吐量、时延、丢包率能够满足设计需求呢?如何确认购买的服务器能够满足日后的应用需求呢?可以使用fluk这样的测试仪,但是fluk价格动辄就是上万、几十万。有没有一款小巧的工具可以完成这个功能呢?这篇文章介绍一个开源的软件,iperf。
惯例,下面一张思维导图是这篇文章的主要内容。
1 什么是iperf
iperf是一款开源的网络性能测试工具,可以用来测试网络性能以及服务器的性能。
iperf可以测试网络的吞吐量、丢包率、时延、抖动等性能参数,测试的结果可以用来检验网络建设是否合理,是否能够满足业务需求。
iperf支持windows和linux,linux可以发挥iperf的最大性能,windows版本是后期移植的,建议使用linux版本。LInux的最新版本是3.0,windows的最新版本是1.7.
windows平台上有图形化的iperf,名称为jperf。
下图是iperf的官网,还好,国内可以访问。
2 iperf能做什么事
iperf主要是用来测试网络性能的,也可以用来测试服务器的的性能、比如吞吐量、时延、丢包率、抖动等性能参数。可以发送TCP包和UDP包,主要功能如下所示
TCP
测量网络带宽
报告MSS/MTU值的大小和观测值
支持TCP窗口值通过套接字缓冲
当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接
UDP
客户端可以创建指定带宽的UDP流
测量丢包
测量延迟
支持多播
当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)
3 iperf如何安装
windows的安装
下载即可,绿色的,不需要安装,解压之后有两个文件
linux的安装
./configure
make
make install
4 iperf如何使用
4.1 TCP性能测试
服务器端命令:iperf3 -s
客户端命令:iperf3 -c 192.168.1.5 -b 200M
测试结果:
从图中可以看出测试的吞吐量、丢包率等参数。
4.2 UDP性能测试
带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时
step1:以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用-b 100M进行测试
step2:根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。
服务端命令:iperf3 -s
客户端命令:iperf3 -u -c 192.168.1.5 -b 200M
测试结果:
⑦ Linux安装iperf 提示 以下信息 。 装不上。 怎么解决 去哪下载 链接
没有编译环境的环境,那后面是no的东西貌似都需要安装,各个版本的linux都有自己的软件源,先配置软件源,然后从源里可以直接搜索安装上述缺失的软件或者编译器等等,然后再安装,安装提示缺什么从源里找什么安装什么,知道成功为止,如果源里没有再google或者找,下载后编译安装。
⑧ bin/iperf.exe -s -P 0 -i 1 -p 5001 -f m -X 60什么意思
这个命令会启动iperf,然后每隔1秒监听5001端口,显示结果以Mbits为单位,执行60秒。