iperf3

介绍

iperf3 是一个用于测量网络带宽的工具,它能够模拟 TCP 和 UDP 流量,可以测量网络的吞吐量、延迟、丢包率等。

使用 iperf3 可以在两个计算机之间建立一个 TCP 或 UDP 连接,然后在连接上发送数据,测量这些数据在连接上的传输速率和延迟。iperf3 可以在服务器模式和客户端模式下运行,服务器模式下等待客户端连接,客户端模式下连接到服务器并发送数据。

iperf3 支持多种参数配置,可以设置 TCP 或 UDP 测试、带宽限制、并发连接数、数据包大小等。在测试网络带宽时,可以使用 iperf3 来确定网络中的瓶颈,并对网络进行优化。

iperf 和iperf3

iperf 和 iperf3 是用于网络性能测试和带宽测量的两个常用工具,它们之间存在以下关系:

  1. iperf2:iperf2 是最早版本的 iperf3 工具,由 NLANR/DAST 开发。它提供了基本的网络性能测试功能,用于测量带宽、吞吐量和延迟等指标。但是,iperf2 的开发已经停止,不再得到维护和更新。

  2. iperf3:iperf3 是 iperf3 的新一代版本,由 ESnet 开发。与 iperf2 相比,iiperf3 做了许多改进和新增功能,以更好地适应现代网络环境的需求。它支持 IPv4 和 IPv6,并提供了更准确的流量控制、线程并行处理、多连接并发测试等特性。

尽管iperf3 在功能和性能方面有所改进,但使用 iperf2 和iperf3 进行测试时可能需要注意以下事项:

  • 语法和命令选项不同:iperf32 和iperf3 在命令行参数和选项方面存在一些差异,因此在切换版本时需要注意对应的语法。
  • 兼容性问题:iperf32 和iperf3 使用不同的协议标识符进行通信,因此不能直接互操作。如果你使用的是iperf3,那么需要确保测试的两端都使用iperf3 进行配置和运行。
  • 平台支持:iperf32 在许多平台上都有广泛的支持,而iperf3 目前在某些较旧的平台上可能不被支持。因此,根据你的需求和环境,选择适合的版本。

总体而言,iiperf3 是推荐的选择,特别是对于现代网络环境和进行高级网络性能评估的需求。它提供了更多功能、更好的性能和更新的支持。然而,如果你在某些特定场景下需要与已经部署了 iperf32 的系统互操作,则需要使用相应的版本。

安装 & 使用

iperf3 工具的用法如下:

1. 安装 iperf3

在 Linux 系统中,可以使用包管理器安装 iperf3,例如:

  • Ubuntu/Debian:
sudo apt-get installiperf3
  • CentOS/RHEL:
sudo yum install iperf3
yum installiperf3

2. 启动 iperf3 服务

在一台计算机上启动 iperf3 服务,可以使用以下命令:

iperf3 -s

该命令会在计算机上启动一个默认端口为 5001 的 TCP 服务。

3. 运行 iperf3 客户端

在另一台计算机上运行 iperf3 客户端,连接到服务器并发送数据,可以使用以下命令:

iperf3 -c <server_ip>

其中 <server_ip> 是服务器的 IP 地址。

根据你提供的测试结果,以下是对iperf3测试结果的解读:

  • 测试连接:Connecting to host 10.x.x.x, port 5201 表示成功建立与目标主机(IP地址为10.x.x.x)的连接。

  • 本地和远程信息:[ 4] local 20.x.x.x port 44112 connected to 10.x.x.x port 5201 表示本地主机的IP地址是20.x.x.x,端口号为44112,并且已经与远程主机(10.x.x.x)的端口5201建立了连接。

  • 传输速率信息:接下来的几行为每个时间区间(1秒)的传输速率统计信息。例如,[ 4] 0.00-1.00 sec 1.10 GBytes 9.41 Gbits/sec 表示在第一个时间区间内(0到1秒),传输了1.10 GB的数据,带宽为9.41 Gbit/s。

  • 重传和拥塞窗口:[ 4] 0.00-1.00 sec 1.10 GBytes 9.41 Gbits/sec 0 576 KBytes 中的 Retr 表示在当前时间区间内没有发生重传,而 Cwnd 表示当前的拥塞窗口大小为576 KBytes。

  • 总体统计信息:最后两行提供了整个测试持续时间内的总体传输统计信息。例如,[ 4] 0.00-10.00 sec 10.9 GBytes 9.39 Gbits/sec 表示在整个10秒的测试期间,总共传输了10.9 GB的数据,平均带宽为9.39 Gbit/s。

总的来说,iperf3 测试结果给出了在不同时间区间内的传输速率、重传次数以及拥塞窗口大小等信息。这些结果可以帮助评估网络连接的性能和稳定性。

① Interval表示时间间隔。

② Transfer表示时间间隔里面转输的数据量。

③ Bandwidth是时间间隔里的传输速率。

iperf3 默认使用 TCP 测试,可以使用 -u 参数指定使用 UDP 测试。例如:

iperf3 -c <server_ip> -u

根据你提供的iperf3测试结果,以下是对其进行解读:

  • 测试连接:Connecting to host 10.x.x.x, port 5201 表示成功建立与目标主机(IP地址为10.x.x.x)的连接。

  • 本地和远程信息:[ 4] local 20.x.x.x port 53797 connected to 10.x.x.x port 5201 表示本地主机的IP地址是20.x.x.x,端口号为53797,并且已经与远程主机(10.x.x.x)的端口5201建立了连接。

  • 传输速率信息:每个时间区间内的传输速率统计信息以及总数据报数量。例如,[ 4] 0.00-1.00 sec 116 KBytes 950 Kbits/sec 82 表示在第一个时间区间内(0到1秒),传输了116 KB的数据,带宽为950 Kbit/s,总共发送了82个数据报。

  • 总体统计信息:最后两行提供了整个测试持续时间内的总体传输统计信息,包括总传输数据量、平均带宽、抖动(Jitter)和数据报的丢失率等。例如,[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 4] 0.00-10.00 sec 1.24 MBytes 1.04 Mbits/sec 0.004 ms 0/897 (0%) 表示在整个10秒的测试期间,共传输了1.24 MB的数据,平均带宽为1.04 Mbit/s,抖动非常小,丢失率为0%。

总结来说,iperf3 测试结果给出了每个时间区间内的传输速率、数据报数量以及整个测试期间的总体统计信息。这些结果可以帮助评估UDP传输中的带宽利用率、抖动和数据包丢失情况。需要注意的是,UDP测试结果中的带宽通常会受到网络质量因素的影响,因此可能较TCP测试结果更不稳定。

① Jitter为抖动,在连续传输中的平滑平均值差。

② Lost为丢包数量。

③ Total Datagrams为包数量。

4. 配置参数

iperf3 支持多种参数配置,例如:

  • -p:指定服务器端口号;
  • -i:指定报告间隔时间;
  • -t:指定测试时间;
  • -b:指定带宽限制;
  • -c:指定并发连接数;
  • -l:指定数据包大小。

例如,以下命令将在 10 秒内使用 10 个并发连接测试带宽,并限制每个连接的带宽为 1Mbps:

iperf3 -c <server_ip> -P 10 -t 10 -b 1M

更多参数配置可以使用 iperf3 --help 查看。

万兆光纤 800左右
千兆网卡 80左右

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值