网络性能测试工具 iperf

2024-05-18 09:33:49 浏览数 (2)

iperf 是一个开源网络性能测试工具,它能够测量带宽、吞吐量、延迟和丢包率等网络性能指标。本文将介绍iperf的常用命令和选项,并给出Windows和Linux平台的配置示例。

简介

iPerf 是一款用于主动测量 IP 网络最大带宽的开源工具。它支持调整与定时、缓冲区和协议(TCP、UDP、SCTP 与 IPv4 和 IPv6)相关的各种参数。每次测试都会报告带宽、损耗和其他参数。

iperf 的主要特点包括:

  • 跨平台支持:iperf可以运行在多个操作系统上,包括Windows、Linux、macOS等。
  • 多线程支持:iperf支持多线程测试,可以同时使用多个CPU核心进行测试。
  • 多端口支持:iperf可以在同一台机器上使用多个端口进行测试。
  • 自定义测试参数:iperf支持自定义测试参数,例如测试时间、数据包大小等。
  • 报告详细信息:iperf可以生成详细的测试报告,包括带宽、延迟、丢包率等数据。

工具安装

Windows 11

当前 (2024.05.17) 最高版本 3.17.1

  • 下载

从iperf官网((https://iperf.fr/iperf-download.php))下载适用于Windows的iperf版本。

或直接去 github release 下载 https://github.com/ar51an/iperf3-win-builds

  • 解压

解压后两个文件: cygwin1.dll , iperf3.exe

这个 iperf3.exe 便是应用程序,按下Win R键,输入cmd并回车,打开命令提示符窗口便可以直接运行

Linux

有 iperf 和 iperf3 两种安装包,都可以使用,建议安装 iperf3

apt 安装

12

sudo apt-get updatesudo apt-get install iperf3

yum 安装

1

yum install iperf3 -y

原始文件安装

12345

wget https://downloads.es.net/pub/iperf/iperf-3.0.6.tar.gztar zxvf iperf-3.0.6.tar.gzcd iperf-3.0.6./configuremake && make install

工具使用

iperf 使用起来很简单,拓扑为服务器、客户端模式,一台设备启动服务器,其他设备作为客户端测试到服务器的网络连通效果

启动服务器

首先,在一台机器上启动 iperf 服务器:

1

iperf3 -s

-s 是 server 的含义

启动客户端

然后,在另一台机器上启动 iperf 客户端,指定服务器的 IP 地址和端口:

1

iperf3 -c 服务器IP -p 端口

iperf 默认端口: 5001 iperf3 默认端口: 5201

参数设置

在客户端命令中,可以添加各种参数来调整测试的参数。例如:

  1. 设置测试时间:使用-t选项可以设置测试的时长,单位为秒,默认为10s。例如,iperf -t 60表示进行60秒的测试。
  2. 设置数据包大小:使用-l选项可以设置发送的数据包大小,单位为字节。例如,iperf -l 10M表示发送10MB的数据包。
  3. 协议选择:使用-u选项可以设置发送udp协议而非tcp,例如,iperf -u -p 5001 192.168.1.100表示使用UDP协议向服务器发送测试请求,并使用UDP端口号5001进行测试
  4. 设置多线程模式:使用-P选项可以设置多线程模式,用于同时测试多个连接。例如,iperf -P 4表示使用4个线程进行测试。
  5. 设置端口号:使用-p选项可以设置服务端监听的端口号。例如,iperf -p 8000表示服务端在端口8000上进行监听。
  6. 设置传输速率:使用-w选项可以设置tcp窗口大小,一般可以不用设置,默认即可。例如,iperf -w 10K表示设置tcp窗口大小为10KB。
  7. 设置测试次数:使用-n选项可以设置测试次数。例如,iperf -n 10表示进行10次测试。
  8. 设置输出格式:使用-f选项可以设置报告输出的格式。例如,iperf -f Mbits表示以Mbits为单位输出带宽报告。
  9. 获取帮助:其他可用参数和更多使用细节可以通过运行iperf --help命令来查看

完整的客户端命令可能如下:

1

iperf -c 服务器IP -p 端口 -b 带宽 -t 时间 -P 并发数

执行这个命令后,客户端将开始向服务器发送数据,并显示传输速率、带宽、数据包丢失等信息。

示例输出

123456789101112131415161718192021

iperf3 -c 192.168.101.99Connecting to host 192.168.101.99, port 5201 5 local 192.168.101.65 port 46776 connected to 192.168.101.99 port 5201 ID Interval Transfer Bitrate Retr Cwnd 5 0.00-1.00 sec 19.7 MBytes 165 Mbits/sec 0 1.30 MBytes 5 1.00-2.00 sec 21.2 MBytes 178 Mbits/sec 0 1.85 MBytes 5 2.00-3.00 sec 21.2 MBytes 178 Mbits/sec 0 2.08 MBytes 5 3.00-4.00 sec 20.0 MBytes 168 Mbits/sec 0 2.08 MBytes 5 4.00-5.00 sec 22.5 MBytes 189 Mbits/sec 0 2.08 MBytes 5 5.00-6.00 sec 18.8 MBytes 157 Mbits/sec 0 2.08 MBytes 5 6.00-7.00 sec 23.8 MBytes 199 Mbits/sec 0 2.08 MBytes 5 7.00-8.00 sec 17.5 MBytes 147 Mbits/sec 0 2.08 MBytes 5 8.00-9.00 sec 17.5 MBytes 147 Mbits/sec 0 2.08 MBytes 5 9.00-10.00 sec 18.8 MBytes 157 Mbits/sec 0 2.08 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - ID Interval Transfer Bitrate Retr 5 0.00-10.00 sec 201 MBytes 169 Mbits/sec 0 sender 5 0.00-10.05 sec 198 MBytes 165 Mbits/sec receiveriperf Done.

注意事项

  • 在进行测试前,确保网络没有限制或防火墙规则阻止了 iperf 的通信。
  • 根据测试需求选择合适的协议。TCP 更适合评估应用层性能,而 UDP 适合评估网络层性能。

iperf常见故障处理

1

iperf3: error - unable to connect to server: Connection refused

这表示服务器未开启,请确保服务器已经正确启动。

1

iperf3: error - unable to connect to server: No route to host

这表示服务器防火墙拦截了连接,请检查服务器防火墙设置。

参考资料

  • https://blog.csdn.net/wx17343624830/article/details/134716772
  • https://github.com/ar51an/iperf3-win-builds

文章链接: https://cloud.tencent.com/developer/article/2418524

0 人点赞