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的使用,就不多介绍了,直接在网上copy一段下来。

Iperf使用方法与参数说明

参数说明

-s 以server模式启动,eg:iperf -s

-c host以client模式启动,host是server端地址,eg:iperf -c 10.0.0.2

通用参数

-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 10.0.0.2 -f K

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

-l 缓冲区大小,默认是8KB,eg:iperf -c 10.0.0.2 -l 16

-m 显示tcp最大mtu值

-o 将报告和错误信息输出到文件eg:iperf -c 10.0.0.2 -o ciperflog.txt

-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 10.0.0.2 -p 9999

-u 使用udp协议

-w 指定TCP窗口大小,默认是8KB

-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

-C 兼容旧版本(当server端和client端版本不一样时使用)

-M 设定TCP数据包的最大mtu值

-N 设定TCP不延时

-V 传输ipv6数据包

server专用参数

-D 以服务方式运行iperf,eg:iperf -s -D

-R 停止iperf服务,针对-D,eg:iperf -s -R

client端专用参数

-d 同时进行双向传输测试

-n 指定传输的字节数,eg:iperf -c 10.0.0.2 -n 100000

-r 单独进行双向传输测试

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

-F 指定需要传输的文件

-T 指定ttl值

应用实例

使用 iperf -s 命令将 Iperf 启动为 server 模式,在客户机上使用 iperf -c启动client模式。

iperf –s

------------------------------------------------------------

Server listening on TCP port 5001

TCP window size: 8.00 KByte (default)

------------------------------------------------------------

iperf -c 10.0.0.2

上面使用服务端和客户端的默认设置进行测试

iperf -s -w 300K

------------------------------------------------------------

Server listening on TCP port 5001

TCP window size:  300 KByte

------------------------------------------------------------

iperf -c 10.0.0.2-f K -i 2 -w 300K

设定报告间隔为2秒,服务器端和客户端的TCP窗口都开到300KB

iperf -c 10.0.0.2 -f K -i 2 -w 300K –n 1000000

测试传输约1MB数据

iperf -c 10.0.0.2 -f K -i 2 -w 300K –t 36

测试持续36秒

iperf -c 10.0.0.2 -f K -i 2 -w 300K -n 10400000 –d

测试双向的传输

iperf -c 10.0.0.2 -f K -i 2 -w 300K –u

UDP测试

其中 -i 参数的含义是周期性报告的时间间隔(interval),单位为秒;在上面的例子中,表示每隔2秒报告一次带宽等信息。

先在PC端启动$ iperf -s

再在ARM端执行
$ iperf -c 10.0.0.2 -f K -i 2 -w 300K -n 10000000 -t 180

执行完后,在服务器端会打印结果如下:

这能不坑爹吗,号秒千M,跑出来是270M。

我上面这些测试数据都是通过路由器来测的,我路由器是千M的。

      本文转自灬落魄灬  51CTO博客,原文链接:http://blog.51cto.com/smoke520/1812216,如需转载请自行联系原作者

iperf测试网卡性能相关推荐

  1. 使用iperf测试网络性能

    iperf 是一个 TCP/IP 和 UDP/IP 的性能测量工具,能够提供网络吞吐率信息,以及震动.丢包率.最大段和最大传输单元大小等统计信息:从而能够帮助我们测试网络性能,定位网络瓶颈.iperf ...

  2. linux路由器 性能测试工具,使用iperf测试路由器性能

    现在家用路由器市场鱼龙混杂,各家广告都吹的天花乱坠,而且还有各种基于openwrt的rom .随着50M.100M高速宽带的出现,对路由器的转发性能提出了新的考验.但是各路由器厂家对于路由器实际转发性 ...

  3. 用 iperf 测试网卡吞吐率

    1.下载iperf https://iperf.fr/iperf-download.php#windows 下载好iperf后在windows下直接解压,然后在命令行启动iperf即可 2.测试 我们 ...

  4. Linux网络安全运维:网络性能评估工具iperf 测试带宽

    带宽 在计算机网络中,网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量,比如说你家的电信网络是100兆比特,意思是,一秒内最大的传输速率是100兆比特. 在计算机网络中,带宽用来表示网络中某 ...

  5. 网卡性能怎么测试软件,怎么用简单命令测试网络性能

    现如今,网络的使用已经十分普遍,同时也会有各种各样的局域网知识出现.比如,怎么用简单命令测试网络性能.如何才能知道线路质量的好坏呢?通过以下几个网络测试命令,可以有助于更好地使用和维护网络.学习啦小编 ...

  6. FT2000+下40G网卡性能优化

    1.背景介绍 目前在调试FT2000+模块时,遇到了40G网卡(mellanox CX5)性能问题,使用iperf测试时发现网卡性能只能达到11Gbps左右,远低于E5V4下面的36Gbps.FT20 ...

  7. iperf3测试网卡数据吞吐量

    一.网络性能评估工具Iperf 在网络分布组建过程中,我们经常需要测试真实的网络带宽,来进行估测分布式系统的传输性能,网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础, ...

  8. [工具]iperf测试带宽

    之前被要求测试网卡带宽能力,发现了iperf这个工具,记录下来防止遗忘. iperf是个开源跨平台测试带宽工具,windows.linux.macOS--都支持,安装也挺方便. 1.安装 地址:htt ...

  9. NXP CPU 网卡性能优化的一次分析

    硬件环境: NXP T1042(Power PC)  4Core 的CPU CPU 内部的 MAC 千兆 PHY :88E1512 内核版本: 4.9版本内核 测试方法: 使用 BigTao 220 ...

最新文章

  1. 阿森纳如果小组第二出线
  2. 物理化学 热力学第一定律的概念
  3. 运行程序时java后面跟的是文件名对吗_运行程序时java命令后面跟的是文件名。...
  4. 华为的型号命名规则_华为最实惠5G手机来了!畅享Z 5G宣布:5月24日发
  5. java数据库插入mysql乱码
  6. ajax与java交互实例,1、Ajax与Java通过GET方式交互
  7. vi/Vim的快速使用
  8. ECharts4简单入门
  9. 美国计算机语言学phd,美国大学语言学(Linguistics)专业PhD排名(转)2013
  10. Json转换为Model,Struct,Class对象 Swift
  11. android烧写固定MAC,小系统SN号和MAC地址快速烧录的方法与流程
  12. 51单片机简易烧录方法
  13. 通过注册表设置默认打印机的方法
  14. SAP-ABAP-如何查找系统中已经存在的增强(包括1代2代3代BTE表字段增强等)和标准的增强点
  15. 云桌面真的可以完全代替PC电脑吗?
  16. seo是做什么-程绩
  17. 数据结构和算法学习指南
  18. 如何快速打造一个高权重的短视频账号?短视频运营推广日记(2)
  19. 网络祭祀网站源码网上祭扫平台在线祭祀祭拜网上纪念馆扫墓phpcms网上墓园手机版源
  20. WebServer应用示例2:Siri语音识别读取传感器数据 | ESP32轻松学(Arduino版)

热门文章

  1. java数组元素是类_Java数组及其常用类
  2. leetcode44. 通配符匹配 又是一道没有解释的字符串dp困难题
  3. leetcode48. 旋转图像
  4. UNIX(多线程):27---多线程并发之原子操作与无锁编程
  5. C++:20---类模板(template)
  6. 《Python Cookbook 3rd》笔记(1.10):删除序列相同元素并保持顺序
  7. C++11 explicit关键字的作用
  8. 中科大 计算机网络9 互联网历史
  9. 王道考研 计算机网络3 速率相关的性能指标
  10. SpringBoot —— @ComponentScan注解