爱极客专注分享-好玩的docker应用-源码分享

【iperf3】精讲网络速率测试工具iperf3使用!图解超赞超详细!!!

【iperf3】精讲网络速率测试工具iperf3使用!图解超赞超详细!!!

1. iperf3简介

        iPerf3是用于主动测试IP网络上最大可用带宽的工具。它支持时序、缓冲区、协议(TCP,UDP,SCTP与IPv4和IPv6)有关的各种参数。对于每次测试,它都会详细的带宽报告,延迟抖动和数据包丢失。

      它与原始 iPerf 不共享任何代码,也不向后兼容。

      它是一个C/S架构的测试工具,需要在同时运行在服务器端和客户端。

     支持的平台:windows, linux, Android, MacOS X, FreeBSD, OpenBSD, iPhone/iPad等

iperf 主要测试网络以下三个方面:吞吐量、稳定性、可靠性。

iperf 的参数比较多,主要从三个对象进行罗列,分别是客户端、服务端、公共使用

执行:iperf3 -h  可以查看所有的命令信息,以下是中文信息, iPerf 3.1.2 支持的所有参数:

【iperf3】精讲网络速率测试工具iperf3使用!图解超赞超详细!!!

2. iperf3安装

2.1 Windows

下载链接:https://iperf.fr/iperf-download.php

官网直接下载

Android/iPhone/iPad安装包,下载完成后解压,使用时进入 cmd 终端,cd 到解压路径,可以找到 iperf3.exe 程序即可正常使用。

【iperf3】精讲网络速率测试工具iperf3使用!图解超赞超详细!!!

2.2 Linux

在 Ubuntu 系统中可以直接使用以下命令进行安装,或者 官网下载离线安装包:

sudo apt install -y iperf3

3. iperf3命令说明

用法:

iperf3 [-s|-c host] [options]

1.1 公共使用参数****

  •   -f, –format    [kmKM]    报告格式: Kbits, Mbits, KBytes, MBytes。
  •   -i, –interval  #        设置每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为零。
  •   -l, –len       #[KM]    设置读写缓冲区的长度。TCP方式默认为8KB,UDP方式默认为1470字节。
  •   -m, –print_mss          输出TCP MSS值(通过TCP_MAXSEG支持)。MSS值一般比MTU值小40字节。
  •   -o, –output    <filename> 将报告或错误消息输出到此指定文件。
  •   -p, –port      #        设置端口,与服务器端的监听端口一致。默认是5001端口,与ttcp的一样。
  •   -u, –udp                使用UDP而不是TCP,默认是TCP
  •   -w, –window    #[KM]    设置套接字缓冲区为指定大小。对于TCP方式,此设置为TCP窗口大小。对于UDP方式,此设置为接受UDP数据包的缓冲区大小,限制可以接受数据包的最大值。
  •   -B, –bind      <host>    bind to <host>, an interface or multicast address
  •   -C, –compatibility      与旧版本一起使用不会发送额外的MSG
  •   -M, –mss       #        通过TCP_MAXSEG选项尝试设置TCP最大信息段的值。MSS值的大小通常是TCP/IP头减去40字节。在以太网中,MSS值 为1460字节(MTU1500字节)。许多操作系统不支持此选项。
  •   -N, –nodelay            设置TCP无延迟选项,禁用Nagle’s运算法则。通常情况此选项对于交互程序,例如telnet,是禁用的。
  •   -V, –IPv6Version        绑定一个IPv6地址。服务端:$ iperf -s –V客户端:$ iperf -c <Server IPv6 Address> -V注意:在1.6.3或更高版本中,指定IPv6地址不需要使用-B参数绑定,在1.6之前的版本则需要。在大多数操作系统中,将响应IPv4客户端映射的IPv4地址。 ​

1.2 服务端参数

  •   -s, –server             在服务器模式下运行。
  •   -U, –single_udp         在单线程UDP模式下运行。
  •   -D, –daemon             将服务器作为守护进程运行。

1.3 客户端参数****

  •   -b, –bandwidth #[KM]    UDP模式使用的带宽,单位bits/sec。此选项与-u选项相关。默认值是1 Mbit/sec。
  •   -c, –client    <host>   运行Iperf的客户端模式,连接到指定的 Iperf 服务器端。
  •   -d, –dualtest           运行双测试模式。这将使服务器端反向连接到客户端,使用-L 参数中指定的端口(或默认使用客户端连接到服务器端的端口)。这些在操作的同时就立即完成了。如果你想要一个交互的测试,请尝试-r参数。
  •   -n, –num       #[KM]    指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000。
  •   -r, –tradeoff           往复测试模式。当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。
  •   -t, –time      #        设置传输的总时间。Iperf在指定的时间内,重复的发送指定长度的数据包。默认是10秒钟。参考-l与-n选项。
  •   -F, –fileinput <name>   使用特定的数据流测量带宽,例如指定的文件。$ iperf -c <server address> -F <file-name>
  •   -I, –stdin              与-F一样,由标准输入输出文件输入数据。
  •   -L, –listenport #       指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口。
  •   -P, –parallel  #        线程数。指定客户端与服务端之间使用的线程数。默认是1线程。需要客户端与服务器端同时使用此参数。
  •   -T, –ttl       #        出栈多播数据包的TTL值。这本质上就是数据通过路由器的跳数。默认是1,链接本地。
  •   -Z, –linux-congestion <algo>  设置TCP拥塞控制算法(仅限Linux)。

2. iperf3操作实例解析

【iperf3】精讲网络速率测试工具iperf3使用!图解超赞超详细!!!

2.1 运行iperf3在客户端,使用UDP协议,并设置使用的测试带宽

iperf3 -c serverIP -b 1000M -t 60 -d

`-c 为客户端运行并要指定服务端的IP地址``-b 表示使用的测试带宽``-t 表示以时间为测试结束条件进行测试,默认为 10 秒;``-d 打印出更详细的debug调试信息`
iperf3 -c 192.168.1.1 -b 1000M -t 60 -d

2.2 运行iperf3在服务器端,默认端口号为5201

iperf3 -s

2.3 运行iperf3在服务器端,如果需要指定的端口号加上-p port

iperf3 -s -p 【这里写指定的端口号】

iperf3 -s -p 8888

2.4 运行iperf3在客户端,开始带宽测试

iperf3 -c 【serverIP,这些写服务器的IP地址】
iperf3 -c 192.168.1.1

2.5 运行iperf3在客户端,设置多个并行数据流-P

iperf3 -c serverIP -P streams
iperf3 -c 192.168.1.1 -P 3

2.6 运行iperf3在客户端,反向测试(服务器端发送数据到客户端)

iperf3  -c serverIP -R
iperf3 -c 192.168.1.1 -R
【iperf3】精讲网络速率测试工具iperf3使用!图解超赞超详细!!!

3. 常见遇到的打流问题

1、server端报出端口busy

    解决办法:server和client设置到其他端口在进行打流

2、client端报出iperf3:error – unable to read form stream socket:Resource temporarily unavailable

    解决办法:server和client两端都是加上-B 192.168.132.xx(本地IP)

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容