Raspberry Pi 与 Windows 局域网传输速度测试记录

1. 背景

当前 Raspberry Pi 5 已经完成系统盘迁移:

1
2
3
128GB NVMe:Raspberry Pi OS 系统盘
512GB NVMe:数据盘,exFAT,挂载到 /mnt/data
64GB SD 卡:保留为救援启动盘

后续希望通过 Windows 向 Raspberry Pi 传输大文件。在正式传输前,需要先测试 Windows 与 Raspberry Pi 之间的局域网传输速度。

测试分为两类:

1
2
1. iperf3:测试纯网络带宽,不受硬盘读写影响
2. scp / SMB / rsync:测试真实文件传输速度

本日志主要记录 iperf3 的测速流程。


2. 确认 Raspberry Pi 的 IP 地址

在 Raspberry Pi 上执行:

1
hostname -I

假设返回结果为:

1
192.168.1.5

那么 Windows 端后续连接的目标地址就是:

1
192.168.1.5

3. Raspberry Pi 端安装 iperf3

在 Raspberry Pi 上执行:

1
2
sudo apt update
sudo apt install iperf3 -y

安装过程中可能会出现提示:

1
Start Iperf3 as a daemon automatically?

也就是询问是否让 iperf3 开机自动作为后台服务运行。

本次只是临时测速,因此选择:

1

原因:

1
2
临时测速不需要 iperf3 每次开机自动运行。
需要测试时,手动启动服务端即可。

4. Raspberry Pi 作为 iperf3 服务端

在 Raspberry Pi 上执行:

1
iperf3 -s

正常情况下会显示类似:

1
Server listening on 5201

此时不要关闭这个终端窗口。Raspberry Pi 正在等待 Windows 端连接。


5. Windows 端安装 iperf3

如果在 Windows PowerShell 中直接执行:

1
iperf3 -c 192.168.1.5

出现:

1
iperf3 : 无法将“iperf3”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

说明 Windows 端还没有安装 iperf3,或者安装后没有加入环境变量。

方法 A:使用 winget 安装

在 Windows PowerShell 中执行:

1
winget search iperf3

如果能搜索到 iperf3,执行:

1
winget install iperf3

安装完成后,关闭当前 PowerShell,重新打开一个新的 PowerShell,然后执行:

1
iperf3 --version

如果能显示版本号,说明安装成功。

方法 B:使用 Scoop 安装

如果 Windows 已安装 Scoop,可以执行:

1
scoop install iperf3

安装完成后测试:

1
iperf3 --version

6. Windows → Raspberry Pi 网络测速

确认 Raspberry Pi 端已经运行:

1
iperf3 -s

然后在 Windows PowerShell 中执行:

1
iperf3 -c 192.168.1.5

该测试方向是:

1
Windows 发送数据 → Raspberry Pi 接收数据

这正好对应后续从 Windows 向 Raspberry Pi 发送大文件的场景。


7. Raspberry Pi → Windows 反向测速

如果要测试反向速度,可以在 Windows 端执行:

1
iperf3 -c 192.168.1.5 -R

该测试方向是:

1
Raspberry Pi 发送数据 → Windows 接收数据

8. 多线程测速

如果单线程速度不理想,可以测试多线程:

1
iperf3 -c 192.168.1.5 -P 4

其中:

1
-P 4

表示使用 4 个并行连接。

如果多线程测速明显高于单线程,说明单连接可能跑不满网络带宽,后续使用 SMB 或多线程传输工具可能会更快。


9. 速度结果如何理解

iperf3 的结果通常以:

1
Mbits/sec

为单位。

换算关系:

1
8 Mbits/sec ≈ 1 MB/s

常见参考值:

1
2
3
4
5
6
7
8
千兆有线网络:
900 ~ 940 Mbits/sec,约等于 110 MB/s

5GHz WiFi:
100 ~ 500 Mbits/sec,约等于 12 ~ 60 MB/s

2.4GHz WiFi:
20 ~ 100 Mbits/sec,约等于 2.5 ~ 12 MB/s

需要注意:

1
2
iperf3 测的是网络能力,不代表真实文件传输速度。
真实文件传输还会受到硬盘读写、协议开销、SSH 加密、CPU 占用等影响。

10. 如果连接失败,检查这些项目

1. Raspberry Pi 服务端是否启动

Raspberry Pi 上应保持:

1
iperf3 -s

并显示:

1
Server listening on 5201

2. Windows 是否能 ping 通 Raspberry Pi

Windows PowerShell 执行:

1
ping 192.168.1.5

如果 ping 不通,需要检查:

1
2
3
4
Windows 和 Raspberry Pi 是否在同一个局域网
Raspberry Pi IP 是否正确
路由器是否开启 AP 隔离
防火墙是否阻止连接

3. 端口是否被阻止

iperf3 默认使用端口:

1
5201

如果防火墙弹窗,允许专用网络访问即可。


11. 后续真实文件传输测试

网络测速完成后,可以继续测试真实文件传输速度。

使用 scp 从 Windows 发送文件到 Raspberry Pi

假设 Windows 上有文件:

1
D:\test\bigfile.zip

Raspberry Pi 数据盘挂载路径为:

1
/mnt/data

则 Windows PowerShell 中执行:

1
scp "D:\test\bigfile.zip" kris@192.168.1.5:/mnt/data/

该速度更接近真实使用体验,因为它包含:

1
2
3
4
Windows 硬盘读取
局域网传输
SSH 加密开销
Raspberry Pi 写入 exFAT 数据盘

12. 当前推荐结论

当前阶段建议:

1
2
3
1. 先用 iperf3 测纯网络速度
2. 再用 scp 测真实文件传输速度
3. 如果后续经常传文件,可以配置 Samba / SMB 共享

长期使用时,可以将 Raspberry Pi 的 512GB 数据盘 /mnt/data 配置成 Windows 网络共享,例如:

1
\\192.168.1.5\data

这样 Windows 可以像访问普通共享文件夹一样拖拽文件到 Raspberry Pi。