Administrator
Published on 2026-04-16 / 2 Visits
0
0

【网络测速神器】iperf 全面解析与实战指南(Windows & Linux)

一、工具简介与背景

在数据中心、企业网络、云环境中,经常会遇到:

  • 带宽跑不满?

  • 文件传输慢?

  • VPN / 跨网段性能异常?

  • 10G / 25G 网络验收?

这些问题都离不开一个核心能力:

精准测量“网络本身”的性能

iperf(尤其 iperf3) 正是业内标准工具。


二、iperf 测速原理

一句话讲透:

iperf 测的是“内存 → 网络 → 内存”的传输能力


2.1、工作机制

服务端(Server)

  • 监听端口(默认 5201)

  • 接收客户端数据

  • 统计吞吐量

客户端(Client)

  • 在内存中生成数据流

  • 持续发送到服务端


2.2、数据路径

客户端内存 → 网卡 → 网络 → 网卡 → 服务端内存

✔ 不涉及:

  • ❌ 磁盘

  • ❌ 文件系统


2.3、为什么这样设计?

排除干扰因素:

  • 避免 SSD/HDD 成为瓶颈

  • 避免文件系统影响

  • 专注测“网络极限能力”


三、iperf 官方下载地址

官方项目主页

Windows版本下载:

  • https://github.com/ar51an/iperf3-win-builds

Linux:

  • 直接用包管理器安装


四、Linux 安装(重点:含离线方案)


4.1、在线安装(Ubuntu / Debian)

sudo apt update
sudo apt install -y iperf3

4.2、在线安装(CentOS / Rocky / RHEL)

sudo yum install -y iperf3

或:

sudo dnf install -y iperf3

4.3、编译安装(适合内网/国产化环境)

wget https://github.com/esnet/iperf/archive/refs/tags/3.x.tar.gz
tar -xvf 3.x.tar.gz
cd iperf-3.x

./configure
make
sudo make install

五、Windows 安装


5.1、下载

从 GitHub Releases 下载:

  • iperf3.x.x-win64.zip


5.2、使用

解压后:

cd D:\iperf3

直接运行:

iperf3.exe

无需安装


5.3、防火墙放行

netsh advfirewall firewall add rule name="iperf3" dir=in action=allow protocol=TCP localport=5201

5.4、直接运行(无需安装)

启动服务端

iperf3.exe -s

客户端测试

iperf3.exe -c 192.168.1.10

六、典型使用方式(Windows & Linux通用)


6.1、点对点测速(最基础)

服务端

iperf3 -s

客户端

iperf3 -c 192.168.1.10

执行 iperf3 -c 时,默认只测一次,但持续时间是 10 秒。

修改测试时长

iperf3 -c 192.168.1.10 -t 60

表示:

  • 1次

  • 持续 60秒

导出每次测试结果

iperf3 -c IP -P 4 -t 60 --logfile result.log

6.2、多线程压测(高带宽必用)

iperf3 -c 192.168.1.10 -P 4

说明:

  • -P:并发流数量,注意是大写字母P

  • 10G/25G 网络必须使用

如果想自定义端口

客户端

iperf3 -c 192.168.1.10 -P 4 -p 5202

那服务端必须这样开:

iperf3 -s -p 5202

如果Windows自定义端口可选择放行端口范围

netsh advfirewall firewall add rule name="iperf3_range" dir=in action=allow protocol=TCP localport=5000-6000

TCP(测极限带宽)

单TCP流有瓶颈:

  • TCP窗口限制

  • 拥塞控制

  • CPU单核限制

所以:

多流 = 多条TCP连接 = 更容易跑满带宽

网络

推荐并发(-P)

说明

10G

4 ~ 8

常用 4

25G

8 ~ 16

常用 8

100G

16 ~ 32

常用 16


UDP(测丢包/质量)

网络

推荐 -b

推荐并发

10G

8G ~ 9G

1~4

25G

20G ~ 23G

1~4

100G

80G ~ 95G

4~8

-b ≈ 带宽的 80%~95%

6.3、UDP 测试(丢包/抖动)

iperf3 -c 192.168.1.10 -u -b 1G

参数说明:

  • -u:UDP模式,不加默认是TCP

  • -b:带宽(必须指定)


6.4、反向测试(测对端能力)

iperf3 -c 192.168.1.10 -R

常用于:

  • 判断哪端是瓶颈


6.5、指定端口

#客户端
iperf3 -c 192.168.1.10 -p 5202
#服务端
iperf3 -s -p 5202

6.6、长时间稳定性测试

#-t参数默认是秒
iperf3 -c 192.168.1.10 -t 60

6.7、指定带宽(限速测试)

iperf(iperf3)理论上没有“固定最大带宽限制”

能指定多大,取决于:

CPU能力 + 网卡带宽 + 系统网络栈 + 参数设置

如果电脑是1G网卡,即使配置-b 10G,但是实际也只会跑到1G

iperf3 -c 192.168.1.10 -b 100M
iperf3 -c 192.168.1.10 -b 1G
iperf3 -c 192.168.1.10 -b 10G

七、MTU对测速的影响

7.1、MTU 影响的本质

MTU 决定的是:

每个数据包的大小

举个直观对比

MTU

每秒包数(同样带宽)

CPU压力

1500

9000


结论:

  • MTU越大 → 包越少 → CPU压力越小 → 吞吐越高

  • MTU越小 → 包越多 → 容易成为瓶颈


7.2、对 iperf 测速的具体影响

iperf 时:


情况1:MTU一致(正常)

  • 1500 → 能跑满1G、10G(但CPU更高)

  • 9000 → 更容易跑满高带宽(推荐)


情况2:MTU不一致(最危险)

典型问题:

  • 丢包

  • 降速

  • 甚至完全不通


例如:

客户端:9000
交换机:1500

结果:

❌ 分片
❌ 丢包
❌ iperf跑不满


7.3、交换机 MTU 应该设多少?


标准建议

场景

MTU

普通办公网

1500

数据中心 / 存储网络

9000

10G/25G/100G 高速网络

9000(强烈推荐)


MLAG / VXLAN 场景

必须更大:

≥ 9000(建议 9216)

因为:

  • VXLAN 有额外封装(≈50字节)

  • 如果不调大 → 会碎片化


7.4、VPN 场景 MTU 应该多少?


常见 VPN MTU 推荐

类型

MTU

IPSec

1400 ~ 1460

SSL VPN

1300 ~ 1400

GRE/IPSec

1300 左右


原因:

VPN会增加封装:

原始包 + 加密头 → 超过1500 → 分片

不要直接用1500
建议:

1400 左右最稳

7.5、验证 MTU 是否正确


方法1:ping 检测

28 字节 = IP头 + ICMP头,

部分

大小

IP头(IPv4)

20 字节

ICMP头

8 字节

ping -M do -s 8972 192.168.1.10

8972 + 28 = 9000

  • -M → 控制是否允许分片

  • -s → 控制数据包大小


结果:

  • ✔ 通 → MTU OK

  • ❌ 不通 → MTU不一致


方法2:逐步测试

ping -M do -s 1472 IP   # MTU 1500
ping -M do -s 8972 IP   # MTU 9000

Windows环境用-f和-l代替-M和-s参数,-f表示不允许分片

ping 192.168.1.10 -f -l 8972

八、典型使用场景


场景一:网络带宽验证

用途:

  • 千兆 / 10G / 25G 网络验收

方法:

iperf3 -c 目标IP -P 4

场景二:MLAG / 双核心网络验证

验证:

  • 是否走双链路

  • 是否负载均衡

方法:

  • 多线程 + 多源IP测试

例如:

  • 客户端:192.168.1.2 / 1.3 / 1.4

  • 服务端:192.168.1.10


启动服务端

iperf3 -s

不同源IP分别压测

iperf3 -c 192.168.1.10 -B 192.168.1.2 -P 4 -t 60
iperf3 -c 192.168.1.10 -B 192.168.1.3 -P 4 -t 60
iperf3 -c 192.168.1.10 -B 192.168.1.4 -P 4 -t 60

场景三:跨网段/VLAN问题排查

验证:

  • 路由是否正确

  • ACL是否限速


场景四:VPN / 专线质量测试

用 UDP:

iperf3 -c IP -u -b 100M

看:

  • 丢包

  • 抖动


场景五:存储网络(iSCSI/NFS)

先用 iperf:

  • 排除网络问题
    再用 fio:

  • 测磁盘


九、iperf vs 实际传输

项目

iperf

文件传输

数据来源

内存

磁盘

性能

理想值

实际值

用途

网络能力

用户体验


常见现象:

  • iperf:10G 跑满

  • 拷贝文件:只有 300MB/s

原因:

  • 磁盘瓶颈

  • 协议开销

  • CPU限制


十、常见问题与优化建议


10.1、带宽跑不满

解决:

iperf3 -P 4 或 -P 8

10.2、CPU瓶颈

表现:

  • 单核100%

解决:

  • 增加线程

  • 升级CPU


10.3、网络设备限制

检查:

  • 交换机端口速率

  • MTU(是否支持9000)

  • 是否限速策略


10.4、Windows测速偏低

原因:

  • 网卡驱动

  • 中断合并

  • RSS未开启


iperf 是测“网络极限能力”的标准工具(内存→内存)
不是测“文件传输速度”的工具(磁盘→磁盘)


Comment