美文网首页
嵌入式linux设备网口带宽的测试方法

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

作者: JalynFang | 来源:发表于2019-05-28 22:29 被阅读0次

    一、介绍

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

    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 进行查看。

    参考:https://www.veryarm.com/503.html

    相关文章

      网友评论

          本文标题:嵌入式linux设备网口带宽的测试方法

          本文链接:https://www.haomeiwen.com/subject/bgfhtctx.html