定义

  1. iPerf3 是用于主动测量 IP 网络上可达到的最大带宽的工具。
  2. 它支持与时序,缓冲区和协议(TCP,UDP,带有 IPv4 和 IPv6 的 SCTP)相关的各种参数的调整。
  3. 对于每个测试,它都会报告带宽,损耗和其他参数。
  4. 不向后兼容——可以说已经不是 iperf

功能

基本——Iperf2 也有

  • TCP 和 UDP 测试 (-u)
  • 设置端口(-p)
  • 设置 TCP 选项:无延迟,MSS 等。
  • 设置 UDP 带宽(-b)
  • 设置套接字缓冲区大小(-w)
  • 报告间隔(-i)
  • 设置 iPerf 缓冲区(-l)
  • 绑定到特定接口(-B)
  • IPv6 测试(-6)
  • 要传输的字节数(-n)
  • 测试时间(-t)
  • 并行流(-P)
  • 设置 DSCP / TOS 位向量(-S)
  • 更改号码输出格式(-f)

iPerf 3.0 中的新功能

  • 动态服务器(客户端/服务器参数交换)– iPerf2 中的大多数服务器选项现在可以由客户端动态设置
  • 客户/服务器结果交换
  • iPerf3 服务器同时接受一个客户端(iPerf2 同时容纳多个客户端)
  • iPerf API(libiperf)–提供使用,自定义和扩展 iPerf 功能的简便方法
  • -R,反向测试模式–服务器发送,客户端接收
  • -O,–omit N:省略前 n 秒(忽略 TCP slowstart)
  • -b,-bandwidth n [KM] 对于 TCP(对于 IPERF 2 仅是 UDP):将目标带宽设置为 n 位/秒(对于 UDP 默认为 1 Mbit /秒,对于 TCP 无限制)。
  • -V,–verbose:比以前更详细的输出
  • -J,–json:以 JSON 格式输出
  • -Z,–zerocopy:使用“零复制” sendfile()方法发送数据。这将使用更少的 CPU。
  • -T,–title str:在每个输出行之前添加此字符串
  • -F,–file name:xmit / recv 指定的文件
  • -A,–affinity n / n,m:设置 CPU 亲和力(内核从 0 开始编号-仅适用于 Linux 和 FreeBSD)
  • -k,–blockcount#[KMG]:要传输的块(数据包)数(而不是-t 或-n)
  • -4,-version4:仅使用 IPv4
  • -6,–version6:仅使用 IPv6
  • -L,–flowlabel:设置 IPv6 流标签(仅 Linux)
  • -C,–linux-congestion:设置拥塞控制算法(仅 Linux 和 FreeBSD)(iPerf2 中为-Z)
  • -d,–debug:发出调试输出。主要(也许仅)供开发人员使用。
  • -s,–server:iPerf2 可以处理多个客户端请求。iPerf3 一次仅允许一个 iperf 连接。

参考

官方文档