Raspberry Pi 与 Windows 局域网传输速度
Raspberry Pi 与 Windows 局域网传输速度测试记录
1. 背景
当前 Raspberry Pi 5 已经完成系统盘迁移:
1 | 128GB NVMe:Raspberry Pi OS 系统盘 |
后续希望通过 Windows 向 Raspberry Pi 传输大文件。在正式传输前,需要先测试 Windows 与 Raspberry Pi 之间的局域网传输速度。
测试分为两类:
1 | 1. iperf3:测试纯网络带宽,不受硬盘读写影响 |
本日志主要记录 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 | sudo apt update |
安装过程中可能会出现提示:
1 | Start Iperf3 as a daemon automatically? |
也就是询问是否让 iperf3 开机自动作为后台服务运行。
本次只是临时测速,因此选择:
1 | 否 |
原因:
1 | 临时测速不需要 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 | 千兆有线网络: |
需要注意:
1 | iperf3 测的是网络能力,不代表真实文件传输速度。 |
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 | Windows 和 Raspberry Pi 是否在同一个局域网 |
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 | Windows 硬盘读取 |
12. 当前推荐结论
当前阶段建议:
1 | 1. 先用 iperf3 测纯网络速度 |
长期使用时,可以将 Raspberry Pi 的 512GB 数据盘 /mnt/data 配置成 Windows 网络共享,例如:
1 | \\192.168.1.5\data |
这样 Windows 可以像访问普通共享文件夹一样拖拽文件到 Raspberry Pi。
