外观
iperf 网络性能测试
2025-10-29
本文介绍了如何在开发环境中创建 iperf 示例工程,将其编译后在开发板上运行,使用 Iperf 工具测试板卡网络性能。旨在帮助读者熟悉开发环境,掌握使用 Iperf 进行网络速度测试的方法。
运行 Iperf 网络测试示例
本示例旨在演示如何使用 Iperf 工具测试开发板的 TCP 和 UDP 网络传输速度。
Iperf 安装
windows
从Iperf 官网下载压缩包, 解压将 iperf.exe(或 iperf3.exe)和 cygwin1.dll 复制到%systemroot%目录即可
对于 iperf3 需要将 iperf 命令换成 iperf3
linux
Ubuntu 中安装命令 sudo apt install iperf
创建工程点击展开
依次点击 “文件” -> “新建” -> "RT-Thread RuiChing App 项目"。

在弹出新建向导中选择 开发版 、BSP: 、示例 、 调试器/下载器。选择好之后点击 “完成”。

点击 “完成” 后,等待工程创建完成。

创建完成。

构建工程点击展开
单击工程使工程进入 Active-Debug 模式。

点击工具栏上的构建按钮进行工程编译。

构建成功后,会显示构建成功的信息。

固件下载点击展开
固化设备树

固化 APP

核心示例代码
iperf 核心示例代码在工程的 rt-thread/componets/iperf/iperf.c 中,使用标准 BSD Socket 接口编写的,如果想要了解实现细节的话,可以打开文件查看。
运行示例
操作步骤
1.使用 IDE 调试并运行程序后,将开发板 IP 和服务器 IP 设置为同一网段
msh />ifconfig e0 192.168.1.100 192.168.1.3 255.255.255.0
config : e0
IP addr: 192.168.1.100
Gateway: 192.168.1.3
Netmask: 255.255.255.0
2.测试板卡的 TCP 发送速度,PC 上 iperf 作为 TCP 接收端,开发板 iperf 作为 TCP 发送端
PC 终端
shell />iperf -s -P 0 -i 1 -p 5001 -f k
---------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
---------------------------------------------------------------
[ 1] local 192.168.1.3 port 5001 connected with 192.168.1.100 port 52441
[ ID] Interval Transfer Bitrate
[ 1] 0.00-1.00 sec 11535 KBytes 94493 Kbits/sec
[ 1] 1.00-2.00 sec 11552 KBytes 94634 Kbits/sec
[ 1] 2.00-3.00 sec 11541 KBytes 94545 Kbits/sec
[ 1] 3.00-4.00 sec 11552 KBytes 94634 Kbits/sec
[ 1] 4.00-5.00 sec 11541 KBytes 94547 Kbits/sec
[ 1] 5.00-6.00 sec 11552 KBytes 94634 Kbits/sec
[ 1] 6.00-7.00 sec 11552 KBytes 94634 Kbits/sec
[ 1] 7.00-8.00 sec 11541 KBytes 94547 Kbits/sec
[ 1] 8.00-9.00 sec 11552 KBytes 94634 Kbits/sec
[ 1] 9.00-10.00 sec 11541 KBytes 94545 Kbits/secrtt 终端
msh />iperf -c 192.168.1.3 -p 5001
[I/iperf] Connect to iperf server successful!
[I/iperf] iperfc01: 94.7320 Mbps!
[I/iperf] iperfc01: 94.6860 Mbps!3.测试板卡的 TCP 接收速度,PC 上 iperf 作为 TCP 发送端,开发板 iperf 作为 TCP 接收端
PC 终端
shell />iperf -c 192.168.1.100 -P 1 -i 1 -p 5001 -f k -t 10
---------------------------------------------------------------
Client connecting to 192.168.1.100, TCP port 5001
TCP window size: 64.0 KByte (default)
---------------------------------------------------------------
[ 1] local 192.168.1.3 port 53333 connected with 192.168.1.100 port 5001
[ ID] Interval Transfer Bitrate
[ 1] 0.00-1.00 sec 11776 KBytes 96470 Kbits/sec
[ 1] 1.00-2.00 sec 11264 KBytes 92275 Kbits/sec
[ 1] 2.00-3.00 sec 11008 KBytes 90178 Kbits/sec
[ 1] 3.00-4.00 sec 10624 KBytes 87032 Kbits/sec
[ 1] 4.00-5.00 sec 10752 KBytes 88080 Kbits/sec
[ 1] 5.00-6.00 sec 10752 KBytes 88080 Kbits/sec
[ 1] 6.00-7.00 sec 11008 KBytes 90178 Kbits/sec
[ 1] 7.00-8.00 sec 10496 KBytes 85983 Kbits/sec
[ 1] 8.00-9.00 sec 10880 KBytes 89129 Kbits/sec
[ 1] 9.00-10.00 sec 11008 KBytes 90178 Kbits/sec
[ 1] 0.00-10.00 sec 109696 KBytes 89581 Kbits/secrtt 终端
msh />iperf -s -p 5001
[I/iperf] new client connected from (192.168.1.3, port 53333)
[I/iperf] iperfc01: 90.5360 Mbps!
[I/iperf] iperfc01: 88.7420 Mbps!
[W/iperf] client disconnected (192.168.1.3, port 53333)4.测试板卡的 UDP 发送速度,PC 上 iperf 作为 UDP 接收端,开发板 iperf 作为 UDP 发送端
PC 终端
iperf -s -u -P 0 -i 1 -p 5001 -f k
---------------------------------------------------------------
Server listening on UDP port 5001
UDP window size: 64.0 KByte (default)
---------------------------------------------------------------
[ 1] local 192.168.1.3 port 5001 connected with 192.168.1.100 port 62511
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 1] 0.00-1.00 sec 11691 KBytes 95773 Kbits/sec 0.227 ms 0/ 8144 (0.0%)
[ 1] 1.00-2.00 sec 11680 KBytes 95679 Kbits/sec 0.214 ms 0/ 8136 (0.0%)
[ 1] 2.00-3.00 sec 11688 KBytes 95750 Kbits/sec 0.229 ms 0/ 8142 (0.0%)
[ 1] 3.00-4.00 sec 11682 KBytes 95703 Kbits/sec 0.071 ms 0/ 8138 (0.0%)
[ 1] 4.00-5.00 sec 11680 KBytes 95679 Kbits/sec 0.223 ms 0/ 8136 (0.0%)
[ 1] 5.00-6.00 sec 11680 KBytes 95679 Kbits/sec 0.213 ms 0/ 8136 (0.0%)
[ 1] 6.00-7.00 sec 11691 KBytes 95773 Kbits/sec 0.209 ms 0/ 8144 (0.0%)rtt 终端
msh />iperf -u -c 192.168.1.3 -p 5001
[I/iperf] iperf udp mode run...
[I/iperf] iperfc01: 96.0550 Mbps!
[I/iperf] iperfc01: 95.7540 Mbps!
[I/iperf] iperfc01: 95.7520 Mbps!5.测试板卡的 UDP 接收速度,PC 上 iperf 作为 UDP 发送端,开发板 iperf 作为 UDP 接收端
PC 终端
iperf -c 192.168.1.100 -u -P 1 -i 1 -p 5001 -f k -b 100M -t 10
---------------------------------------------------------------
Client connecting to 192.168.1.100, UDP port 5001
Sendting 1470 byte datagrams, IPG target: 0.00 us (kalman adjust)
UDP window size: 64.0 KByte (default)
---------------------------------------------------------------
[ 1] local 192.168.1.3 port 53333 connected with 192.168.1.100 port 5001
[ ID] Interval Transfer Bitrate
[ 1] 0.00-1.00 sec 11631 KBytes 95280 Kbits/sec
[ 1] 1.00-2.00 sec 11708 KBytes 95915 Kbits/sec
[ 1] 2.00-3.00 sec 11628 KBytes 95256 Kbits/sec
[ 1] 3.00-4.00 sec 11678 KBytes 95668 Kbits/sec
[ 1] 4.00-5.00 sec 11730 KBytes 96091 Kbits/sec
[ 1] 5.00-6.00 sec 11596 KBytes 94997 Kbits/sec
[ 1] 6.00-7.00 sec 11675 KBytes 95644 Kbits/sec
[ 1] 7.00-8.00 sec 11668 KBytes 95585 Kbits/sec
[ 1] 8.00-9.00 sec 11680 KBytes 95679 Kbits/sec
[ 1] 9.00-10.00 sec 11678 KBytes 95668 Kbits/sec
[ 1] 0.00-10.00 sec 116676 KBytes 95576 Kbits/sec
[ 1] Sent 81277 datagramsrtt 终端
msh />iperf -u -s -p 5001
[I/iperf] iperfc01: 95.3430 Mbps!
[I/iperf] iperfc01: 95.6620 Mbps!