嵌入式linux设备网口带宽-测试方法

iperf是一个基于Client/Server的网络性能测试工具,可以测试TCP、UDP和SCTP带宽质量,能够提供网络吞吐率信息,以及震动、丢包率,最大段和最大传输单元大小等统计信息,帮助我们测试网络性能,定位网络瓶颈。其中抖动和丢包率适应于UDP测试,二带宽测试适应于TCP和UDP。

一、介绍

iperf是一个基于Client/Server的网络性能测试工具,可以测试TCP、UDP和SCTP带宽质量,能够提供网络吞吐率信息,以及震动、丢包率,最大段和最大传输单元大小等统计信息,帮助我们测试网络性能,定位网络瓶颈。其中抖动和丢包率适应于UDP测试,二带宽测试适应于TCP和UDP。
 

嵌入式linux设备网口带宽-测试方法嵌入式linux设备网口带宽-测试方法


Iperf可以说是嵌入式设备里网络接口测试的一个利器。这里的网络接口不但可以是一般的以太网,也可以是无线网络,还可以是4G模块;

官方提供的公网服务器:iperf-servers。不过测试过速度有点捉鸡,还是自己建个测试爽。

二、交叉编译

Step1. 下载

下载地址:http://downloads.es.net/pub/iperf/。本文以 iperf-3.0.1.tar.gz 版本为例。

Step2. 配置./configure --host=arm-linux --prefix=$PWD/xxx_install

其中,

--host: 指定交叉编译工具,一般为arm-none-linux-gnueabi、arm-linux-gnueabihf、arm-linux等,具体要和目标板用的交叉编译工具对应。--prefix: 指定安装目录,编译后的文件会全部放在安装目录中。

Step3. 编译安装make make install

完成后,文件会自动安装到上面指定的 install 目录。

Step4. 去除调试信息并压缩

在嵌入式设备上的资源毕竟寸土寸金的;使用交叉编译工具 strip 去除镜像的调试信息,在不影响使程序使用的情况下,程序大小一般可以减小50%左右。本程序我们仅用到其中2个文件,bin下的iperf3 和 lib下的libiperf.so.0.0.0。

$cd xxx_install # 进入安装目录 $ arm-linux-gnueabi-strip bin/iperf3 # 去除iperf3镜像调试信息 $ arm-linux-gnueabi-strip lib/libiperf.so.0.0.0 # 去除共享库的调试信息 $ rm lib/libiperf.a lib/libiperf.la # 删除两个不用的库文件 $ tar cvf iperf-exec-3.0.1.tar.gz bin lib # 压缩bin和lib目录

三、带宽测试Step1. 启动服务器iperf

在Ubuntu上,以服务端方式启动:

$iperf3 -s -i 1
参数说明:

-s:以服务器方式启动-i:以秒为单位显示报告间隔-w:指定TCP窗口大小,默认是8KB Step2. 启动客户端$iperf3 -c 192.168.1.100(也可为公网IP) -i 1 -w 448k -t 10
参数说明:

-c:以client模式启动,随后跟着服务器的IP地址-t:测试时间,默认10秒LOG的记录 服务器: iperf3 -s >> iperfs.log 2>&1 & 客户端: iperf3 -c 192.168.1.100 -i 1 -w 448k -t 10 >> iperfc.log 2>&1 &四、iperf 参数
官方使用文档:https://iperf.fr/iperf-doc.php

也可在安装成后,使用iperf3 -h 进行查看。

原文来自:

本文地址:嵌入式linux设备网口带宽-测试方法 | 《Linux就该这么学》编辑:坑人小妖精,审核员:逄增宝

Linux命令大全:Linux命令大全(手册) – 真正好用的Linux命令在线查询网站

Linux系统大全:LinuxDown - 精选每一篇高品质的技术干货

红帽认证RHCE考试心得:RHCE - 精选每一篇高品质的技术干货

TestBandwitdth脚本用于测试带宽; //***************************************************************************************** 用法: 1.将“TestBandwidth.tar.gz”脚本copy到服务器上解压后,进入目录; 2.编辑“TestURL.sh”:灌流量; 上行:wget http://*** 下行:post http://*** 3.如果修改了步骤2,执行此步,否则跳过: 修改 TestBandwidth.tar.gz 脚本中的倒数5-6行; kill -9 `ps -ef|grep wget|grep http|awk '{print $2}'` //修改kill关键字:grep wget rm zhuxian* //修改rm关键字:zhuxian* 4.修改“bandwidth.sh”:修改检测网卡: netcard=em1 5.使用后台运行命令执行:nohup ./bandwidth.sh (注:停止脚本 pkill -9 bandwidth.sh && pkill -9 wget) 6.查看结果:BandwitdthResult.txt //********************************************************* 测试流量:清空“TestURL.sh”文件时执行就是测试流量 //***************************************************************************************** 脚本说明: 1.调用TestURL.sh脚本启动灌流量操作; 2.等待10s(防止刚开始下载时的流量冲高); 3.取当前网卡已接收的上行、下行数据流量; 4.等待5s; 5.取当前网卡已接收的上行、下行数据流量; 6.计算两次取值中间的差值,算平均值; 7.等待10s,开始下一次小循环(循环4次)(一次小循环70s); 8.清除下载进程,清除下载文件,清除下载日志; 9.等待3495s,开始下一次大循环(一次大循环1h);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值