iperf3 是最常用的网络吞吐测试工具之一,可以在两台设备之间通过“客户端 ↔ 服务端”产生测试流量,测出链路的:
- TCP 吞吐(带宽上限、拥塞、窗口等)
- UDP 吞吐 + 丢包 + 抖动(jitter)
- 单向/反向/双向
- 多连接并发能力
- 长时间稳态、突发等
一句话原理:一台机器跑 iperf3 -s 当服务端;另一台跑 iperf3 -c <server_ip> 当客户端。 在 fnOS 上最推荐用 Docker 跑服务端。
0. 推荐方案
- 推荐:fnOS(飞牛 NAS)用 Docker 部署 iperf3 Server
- 备选:如果你已有 SSH 权限,也可以在 fnOS 终端里直接安装 iperf3
1. 方案 A:Docker 在 fnOS 上部署 iperf3 服务端(推荐)
1.1 图形界面部署(最简单)
- 打开 fnOS 的 Docker 应用
- 进入 镜像仓库/镜像管理
- 搜索
iperf3
- 选择镜像(例如
networkstatic/iperf3)并下载
- 创建容器:
- 网络模式:建议
host
- **或者端口映射 **
5201:5201
- 启动命令/command:
-s(server 模式)
- 启动容器后,日志里看到:
Server listening on 5201 说明服务端已就绪
为什么建议 host? ** **避免端口映射、NAT 或容器网络限制导致测速偏差。
1.2 Docker Compose 部署(喜欢 compose 的同学)
在 fnOS 的 compose/stack 面板里新建:
services:
iperf3:
image: networkstatic/iperf3:latest
container_name: iperf3
command: -s
network_mode: host
restart: unless-stopped
保存并启动即可。
1.3 端口/防火墙说明
- iperf3 默认监听:5201/TCP + 5201/UDP
- 如果 NAS 有防火墙/安全策略,记得放行端口
- 也可以换端口:
服务端:
iperf3 -s -p 6000
客户端:
iperf3 -c <NAS_IP> -p 6000
2. 方案 B:SSH 进 fnOS 直接安装(有终端权限时)
如果你已开启 SSH(fnOS 系统设置可开),终端里尝试:
# Debian/Ubuntu 系
sudo apt update
sudo apt install iperf3
# CentOS/RHEL 系
sudo yum install iperf3
如果包管理不可用或装不上,回到 Docker 方案即可(最稳)。
3. NAS 当服务端,客户端怎么测
3.1 fnOS/NAS 上启动 server
- **Docker 方式已经 **
-s 就不用再管
- 命令行方式:
iperf3 -s
3.2 客户端测速(任何 PC/服务器/路由器)
最基础 TCP 上行(客户端 → NAS):
iperf3 -c <NAS_IP>
4. 飞牛 NAS 场景下常用测速方式
**下面所有命令都在 **客户端 执行。
4.1 测上行 TCP(Client → NAS)
iperf3 -c <NAS_IP> -t 30 -i 1
-t 30 测 30 秒(默认 10 秒)
-i 1 每秒输出一次(看波动)
4.2 测下行 TCP(NAS → Client)
iperf3 -c <NAS_IP> -R -t 30 -i 1
-R 表示反向测试(server 发 → client 收)。
4.3 多并发 TCP(测跑满能力)
在 2.5G/10G 或高延迟链路下,单流可能跑不满,用多流:
iperf3 -c <NAS_IP> -P 8 -t 30 -i 1
-P = 并发流数量。
4.4 双向同时测(上行 + 下行)
iperf3 -c <NAS_IP> --bidir -t 30 -i 1
适合验证全双工链路或 NAT/防火墙策略。
4.5 UDP 测吞吐 + 丢包 + jitter(常用于 Wi-Fi / 实时业务)
iperf3 -c <NAS_IP> -u -b 300M -l 1400 -t 30 -i 1
-u 使用 UDP
-b 300M 目标速率(UDP 必须指定)
-l 1400 包长(避免超过 MTU 分片)
4.6 UDP 找上限(压到开始丢包)
从小到大逐步加速率,例如:
iperf3 -c <NAS_IP> -u -b 500M -l 1400 -t 20 -i 1
当丢包明显上升、jitter 飙升,即接近链路上限。
4.7 长时间稳态(看是否降速/抖动)
iperf3 -c <NAS_IP> -t 300 -i 5
测 5 分钟,每 5 秒一报。
5. 结果怎么看
5.1 TCP
看最后两行:
sender:客户端发出去的带宽
receiver:NAS 实际收到的带宽
两者应接近;差距大通常说明重传/拥塞/丢包。
5.2 UDP
重点三项:
- 带宽(Mbits/sec)
- jitter(ms)
- 丢包率(lost/total)
丢包 > 1% 或 jitter 很大,对语音/视频/游戏会明显影响。
6. 常见坑 & 排查
- 测速比预期低
- 先试
-P 4/8/16 多流
- 单流 TCP 在高带宽链路上经常跑不满
- UDP 忘了加
-b
- 容器网络模式不对
- 推荐
host
bridge 可能被 NAT/限速影响
- MTU/分片导致性能怪异
- UDP 用
-l 1400
- TCP 用
-M 1400
7. 一键抄走的飞牛 NAS 测速模板
假设 NAS IP = 192.168.1.10
# 1) 上行 TCP
iperf3 -c 192.168.1.10 -t 30 -i 1
# 2) 下行 TCP
iperf3 -c 192.168.1.10 -R -t 30 -i 1
# 3) 多流跑满
iperf3 -c 192.168.1.10 -P 8 -t 30 -i 1
# 4) UDP Wi-Fi/实时压测
iperf3 -c 192.168.1.10 -u -b 300M -l 1400 -t 30 -i 1