• iperf3


    使用方法

    一、首先是介绍:iperf3是一个网络带宽测试工具,iperf3可以擦拭TCP和UDP带宽质量。iperf3可以测量最大TCP带宽,具有多种参数和UDP特性,iperf3可以报告带宽、延迟抖动和数据包丢失。

    二、使用iperf3,你可以调整与时序、缓冲区和协议(如TCP、UDP、SCTP)相关的几个参数。它对网络性能调优操作很方便,为了获得最大或相当改善的网络性能,你需要增加吞吐量以及网络接收个发送功能的延迟。但是在进行实际调整之前,你需要执行一些测试以收集整体网络性能统计信息,以指导你的调优过程。其结果包括以秒为单位的时间间隔,数据传输,带宽(传输速率),丢失和其他有用的网络性能参数,它主要用于协助调整特定路径上的TCP连接。

    TCP:

    1.测量网络带宽

    2.报告MSS/MTU值的大小和观测值

    3.支持TCP窗口值通过套接字缓冲

    4.当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接

    UDP: 

    1.客户端可以创建指定带宽的UDP流

    2.测量丢包

    3.测量延迟

    4.支持多播

    5.当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)

    实验环境:192.168.1.1 作为服务器端,192.168.1.2 作为客户端

    【服务端】参数介绍

    iperf3 -s [options]     #使用-s标志的是服务器,默认使用5201端口
    [options] 含义描述
    -f
    例:-f K
    指定生成报告的数据格式类型(其中k表示Kbits、m表示Mbits、g表示Gbits、K表示KBytes、M表示MBytes、G表示GBytes)
    -p
    例:-p 4000
    指定其他端口监听(例如指定4000端口)
    -D
    例:-D > iperf3.log
    作为守护程序运行,并将服务器消息写入日志文件
       

    【客户端】参数介绍

    iperf3 -c 192.168.1.1 [options]     #使用-c标志以客户端运行,192.168.1.1表示服务器IP
    [options] 含义描述
    -f [k|m|g|K|M|G]
    例:-f K
    指定生成报告的数据格式类型(其中k表示Kbits、m表示Mbits、g表示Gbits、K表示KBytes、M表示MBytes、G表示GBytes)
    -w
    例:-w 200K
    使用-w标志设置TCP窗口大小、套接字缓冲区大小
    -R 在服务器发送和客户端接收的反向模式下运行,可以添加-R开关。
    -d 运行双向测试,意味着我们要同时测量两个方向上的宽带,可以使用-d选项。
    --get-server-output 如果要在客户端输出中获取服务器结果,可以使用“--get-server-output”选项,此时我们便会在客户端上获取两份数据。
    -P
    例:-P 5
    使用-P选项设置并行客户端测试进程的数量,如果设置为5,那么也就相当与对端建立五个连接
    -i
    例:-i 3
    设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零。
    -m 输出TCP MSS值(通过TCP_MAXSEG支持)。MSS值一般比MTU值小40字节。(通常情况)
    -u 使用UDP方式,不加这个参数默认是TCP模式
    -b [K|M|G]
    例:-b 50M
    UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。
    -t
    例:-t 60
    设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。 在指定“-n”参数后,“-t”参数失效
    -p
    例:-p 5200
    指定服务器监听端口(例如服务器指定端口为5200)
    -n [K|M|G]
    例:-n 100M
    指定传输数据包的字节数
    在指定“-n”参数后,“-t”参数失效
    -I 指定读写缓冲区的长度。TCP方式默认大小为8KB,UDP方式默认大小为1470字节

    解决iperf发包高丢包率的问题

    使用iperf生成并发送数据,在数据包长度固定的情况下(L默认为1470字节),带宽越大,每秒钟发送的数据包越多。

    例如:

    iperf -u -c 10.0.0.2 -p 8080 -t 10 -i 1  -b 10M
    iperf -u -c 10.0.0.3 -p 8080 -t 10 -i 1  -b 100m

    显然:b为100m时每秒发送的数据包的数量为b为10m时的10倍。
    当链路延时较大时,每秒发送的数据包数量太多时会造成比较大的丢包率

    如下:
    客户端

    1

    服务器端

    2

    当增加每个数据包的大小减少发送的数据包数量时可以显著降低高丢包率

    iperf -u -c 10.0.0.3 -p 8080 -t 10 -i 1 -l 50k -b 100m

    3

    4

    参考:

    https://blog.51cto.com/ning235/1567273

    https://blog.csdn.net/haimianxiaojie/article/details/51077494

    https://www.cnblogs.com/wuling129/p/4795262.html

  • 相关阅读:
    网页制作
    线性表
    学习进度表
    我是一只IT小小鸟读后感
    Git分支管理(一)
    家庭因你而不同
    Mysql循环insert数据
    IDEA,右边栏不显示maven解决方案
    Linux定时清理日志脚本
    JAVA的夸平台特性的优势——工厂在线生产信息采集项目
  • 原文地址:https://www.cnblogs.com/airoot/p/12718488.html
Copyright © 2020-2023  润新知