问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Iperf3详解+实战教程

创作时间:
作者:
@小白创作中心

Iperf3详解+实战教程

引用
CSDN
1.
https://blog.csdn.net/qq_40188204/article/details/131002048

Iperf3是一个强大的网络性能测试工具,能够帮助用户准确评估TCP和UDP的带宽性能。本文将详细介绍Iperf3的使用方法,包括其丰富的命令参数、实战案例以及与其他工具的对比测试。

一、简介

Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。

二、命令详解

服务器或客户端通用参数

  • -p, --port #:Server 端监听、Client 端连接的端口号;
  • -f, --format [kmgKMG]:报告中所用的数据单位,Kbits, Mbits, KBytes, Mbytes;
  • -i, --interval #:每次报告的间隔,单位为秒;
  • -F, --file name:测试所用文件的文件名。如果使用在 Client 端,发送该文件用作测试;如果使用在 Server 端,则是将数据写入该文件,而不是丢弃;
  • -A, --affinity n/n,m:设置 CPU 亲和力;
  • -B, --bind:绑定指定的网卡接口;
  • -V, --verbose:运行时输出更多细节;
  • -J, --json:运行时以 JSON 格式输出结果;
  • --logfile f:输出到文件;
  • -d, --debug:以 debug 模式输出结果;
  • -v, --version:显示版本信息并退出;
  • -h, --help:显示帮助信息并退出。

Server端参数

  • -s, --server:以 Server 模式运行;
  • -D, --daemon:在后台以守护进程运行;
  • -I, --pidfile file:指定 pid 文件;
  • -1, --one-off:只接受 1 次来自 Client 端的测试,然后退出。

Client端参数

  • -c, --client:以 Client 模式运行,并指定 Server 端的地址;
  • -u, --udp:以 UDP 协议进行测试;
  • -b, --bandwidth #[KMG][/#]:限制测试带宽。UDP 默认为 1Mbit/秒,TCP 默认无限制;
  • -t, --time #:以时间为测试结束条件进行测试,默认为 10 秒;
  • -n, --bytes #[KMG]:以数据传输大小为测试结束条件进行测试;
  • -k, --blockcount #[KMG]:以传输数据包数量为测试结束条件进行测试;
  • -l, --len #[KMG]:读写缓冲区的长度,TCP 默认为 128K,UDP 默认为 8K;
  • --cport:指定 Client 端运行所使用的 TCP 或 UDP 端口,默认为临时端口;
  • -P, --parallel #:测试数据流并发数量;多线程
  • -R, --reverse:反向模式运行(Server 端发送,Client 端接收);
  • -w, --window #[KMG]:设置套接字缓冲区大小,TCP 模式下为窗口大小;
  • -C, --congestion:设置 TCP 拥塞控制算法(仅支持 Linux 和 FreeBSD );
  • -M, --set-mss #:设置 TCP/SCTP 最大分段长度(MSS,MTU 减 40 字节);
  • -N, --no-delay:设置 TCP/SCTP no delay,屏蔽 Nagle 算法;
  • -4, --version4:仅使用 IPv4;
  • -6, --version6:仅使用 IPv6;
  • -S, --tos N:设置 IP 服务类型(TOS,Type Of Service);
  • -L, --flowlabel N:设置 IPv6 流标签(仅支持 Linux);
  • -Z, --zerocopy:使用 “zero copy”(零拷贝)方法发送数据;
  • -O, --omit N:忽略前 n 秒的测试;
  • -T, --title str:设置每行测试结果的前缀;
  • --get-server-output:从 Server 端获取测试结果;
  • --udp-counters-64bit:在 UDP 测试包中使用 64 位计数器(防止计数器溢出)。

三、测试TOP

四、实战

1. 测试TCP吞吐量

服务端:iperf3.exe -s

客户端:iperf3.exe -c 10.0.0.25 -P 5 -i 2 -t 30

我们可以看到,TCP的最大吞吐为940M左右。

在windows自带的性能查看工具为970M左右,大体一致。

通过Wireshark抓包,可以发现测试的包全是TCP协议。

此次测试符合预期。

2. UDP测试

服务端:iperf3.exe -s

客户端:iperf3.exe -u -c 10.0.0.25 -b 1000M -t 30

我们可以看到,UDP最大性能也在970左右, 抓包发现全是DUP协议,注意,默认发送的是8192个字节,由于以太网帧最多传输1518字节,所以进行了切片。8192/1480=5.5,所以一次发送需要6个包。

五、iperf与ixchariot性能对比测试

Iperf3下行:1803M
上行:1789

Ixchriot下行:1869
上行:1759

六、总结

iper3是一个轻量级的网络性能测试工具,与chariot相比,简单很多,灵活性高,不需要安装。测试2.5G和10G都可以使用。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号