iperf3网络流量测试

半兽人 发表于: 2024-12-30   最后更新时间: 2024-12-30 11:50:15  
{{totalSubscript}} 订阅, 90 游览

什么是 iperf3

iperf3 是一个强大的网络性能测试工具,用于测量网络的带宽、延迟和抖动等指标。它支持多种协议(如 TCP、UDP 和 SCTP),并提供详细的网络性能分析结果。
相比 iperf2iperf3 是重新设计的,功能更简单、更高效。


iperf3 的主要功能

  1. 带宽测试:测量网络的最大可用带宽。
  2. 延迟和抖动测试:评估网络质量。
  3. TCP 和 UDP 支持:支持流量控制和数据包丢失率分析。
  4. 多平台支持:可在 Linux、Windows、macOS 等多种操作系统上运行。
  5. 客户端-服务端模式:一个端作为服务器监听,另一个端作为客户端发送流量。
  6. 多流支持:通过 -P 参数模拟多条并发流量。

安装方法

  1. 在 Linux 上安装(通过包管理器):

    sudo apt install iperf3  # Ubuntu/Debian
    sudo yum install iperf3  # CentOS/RHEL
    
  2. 在 macOS 上安装(通过 Homebrew):

    brew install iperf3
    
  3. 在 Windows 上安装


基本用法

1. 启动服务端

在一台设备上运行服务端,用于监听连接:

iperf3 -s

服务端默认监听 TCP/UDP 的 5201 端口。可以通过 -p 参数指定其他端口,例如:

iperf3 -s -p 12345

2. 启动客户端

在另一台设备上运行客户端,连接服务端并测试带宽:

iperf3 -c <服务端IP地址>

例如:

iperf3 -c 192.168.1.100

默认会发送 TCP 流量并显示带宽结果。


常用选项

服务端选项

  • -s:启动服务端模式。
  • -p <端口号>:指定监听端口。
  • --logfile <文件名>:将测试结果保存到指定文件。

客户端选项

  • -c <服务端IP>:连接服务端。
  • -p <端口号>:指定服务端的端口(默认 5201)。
  • -u:使用 UDP 协议。
  • -b <带宽>:设置发送的最大带宽(UDP 模式)。例如 -b 10M 表示 10 Mbps。
  • -t <时间>:测试时长(默认 10 秒)。
  • -i <间隔>:显示间隔报告的时间(默认每 1 秒报告一次)。
  • -R:反向测试,从服务端发送流量到客户端。
  • -P <并发流数>:指定并发流的数量,用于测试多流带宽。

示例

  1. TCP 测试(默认):

    iperf3 -s  # 服务端
    iperf3 -c 192.168.1.100  # 客户端
    
  2. UDP 测试

    iperf3 -s
    iperf3 -c 192.168.1.100 -u -b 50M  # 客户端,指定带宽为 50 Mbps
    
  3. 双向测试(正反向带宽测试):

    iperf3 -s  # 服务端
    iperf3 -c 192.168.1.100 -R  # 客户端反向测试
    iperf3 -c 192.168.1.100 --bidir  # 客户端同时测试双向流量
    
  4. 指定测试时长

    iperf3 -s
    iperf3 -c 192.168.1.100 -t 30  # 测试 30 秒
    
  5. 多流测试
    测试 10 条并发流:

    iperf3 -s
    iperf3 -c 192.168.1.100 -P 10  # 客户端发起 10 条并发流
    
  6. 保存测试结果
    服务端保存日志:

    iperf3 -s --logfile server_log.txt
    

    客户端保存日志:

    iperf3 -c 192.168.1.100 > client_log.txt
    

结果解析

运行后会显示测试结果,包括:

  1. 传输数据量(Transfer):测试期间总共发送的数据。
  2. 平均带宽(Bandwidth):网络的平均传输速率。
  3. 丢包率(UDP 模式):显示数据包的丢失率。
  4. 延迟和抖动(UDP 模式):评估网络的延迟和波动性。
  5. 多流结果:如果使用 -P 参数,将显示每条流和总流量的带宽数据。

适用场景

  • 测试网络的最大吞吐量(如服务器间带宽)。
  • 排查网络性能瓶颈(如延迟、丢包等)。
  • 验证 QoS 配置和优化网络性能。
  • 模拟并发流量,测试网络设备的性能。

有了补充后的示例和说明,iperf3 的使用更加全面,满足更多网络测试需求!

更新于 2024-12-30
在线,1小时前登录

查看Linux更多相关的文章或提一个关于Linux的问题,也可以与我们一起分享文章