云服务器
产品概述
购买指南
快速入门
操作指南
技术教程
Linux如何安装配置Redis
Linux如何搭建LNMP环境
Linux如何查看端口监听情况
Linux实例如何配置中文支持
云服务器常用端口作用
如何在CentOS中安装Docker
如何在Linux中使用正则表达式
如何安装宝塔Linux面板
如何安装配置Nginx
如何搭建Discuz!论坛
如何搭建WordPress站点
Linux如何搭建FTP服务
Traceroute网络诊断工具详解
iperf 网络性能测试工具原理详解
iperf 命令使用详解
云服务器
iperf 命令使用详解

iperf 命令使用详解

iperf 是一款用于测量网络带宽的开源工具,支持 TCP 和 UDP 协议的性能测试。它通过客户端和服务端之间的数据传输,统计带宽、延迟抖动、丢包率等网络性能指标。以下是 iperf 的详细使用说明:

一、安装 iperf

1. Linux 系统

Debian/Ubuntu:

sudo apt update && sudo apt install iperf3

CentOS/RHEL

sudo yum install epel-release && sudo yum install iperf3

2. macOS

brew install iperf3

3. Windows

iPerf 官网 下载预编译的二进制文件,解压后通过命令行运行。

二、iperf 命令格式

iperf 分为 服务端 和 客户端,需分别启动。

1. 启动服务端

iperf3 -s  # 默认监听 5201 端口

常用参数:

-p <端口>:指定监听端口(如 -p 6000)。

-D:以守护进程(后台)模式运行。

2. 启动客户端

iperf3 -c <服务端IP>  # 默认测试 TCP 带宽

常用参数:

-p <端口>:指定服务端端口(与服务端一致)。

-t <秒>:测试时长(默认 10 秒)。

-i <秒>:输出结果的时间间隔(如 -i 1 每秒显示一次)。

-u:使用 UDP 协议测试(默认 TCP)。

-b <带宽>:指定 UDP 测试的目标带宽(如 -b 100M 表示 100Mbps)。

-R:反向模式(服务端发送数据到客户端,用于测试下行带宽)。

-P <线程数>:并行连接数(模拟多线程传输)。

三、iperf 使用示例

1. 测试 TCP 带宽(默认)

服务端:

iperf3 -s -p 6000

客户端(测试上传带宽):

iperf3 -c 192.168.1.100 -p 6000 -t 30 -i 2

输出结果示例:

[ ID] Interval           Transfer     Bitrate
[  4]   0.00-30.00  sec   1.25 GBytes   358 Mbits/sec

2. 测试 UDP 带宽

服务端:

iperf3 -s -p 6000

客户端(测试 UDP 带宽和丢包率):

iperf3 -c 192.168.1.100 -p 6000 -u -b 500M -t 20

输出结果示例:

[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  4]   0.00-20.00  sec   1.16 GBytes   501 Mbits/sec  0.123 ms  0/870215 (0%)

3. 测试下行带宽(反向模式)

客户端(添加 -R 参数):

iperf3 -c 192.168.1.100 -p 6000 -R

4. 多线程测试(并发连接)

客户端(使用 -P 参数):

iperf3 -c 192.168.1.100 -p 6000 -P 4

四、结果解读

TCP 测试关键指标

Transfer:传输的数据总量(如 1.25 GBytes)。

Bitrate:平均带宽(如 358 Mbits/sec)。

Retr:重传次数(若过高,可能网络不稳定)。

UDP 测试关键指标

Jitter:延迟抖动(单位:毫秒,越低越好)。

Lost/Total Datagrams:丢包率(如 0/870215 表示无丢包)。

五、iperf 常见问题

iperf3: error - unable to connect to server: Connection refused

这表示服务器未开启,请确保服务器已经正确启动。

iperf3: error - unable to connect to server: No route to host

这表示服务器防火墙拦截了连接,请检查服务器防火墙设置。

是防火墙默认关闭了 icmp,需要将客户端和服务端的防火墙注释掉:

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

六、总结

iperf 是网络性能测试的黄金工具,适合验证带宽、排查网络瓶颈。重点掌握 -s(服务端)、-c(客户端)、-u(UDP)、-R(反向模式)等参数。结合多线程(-P)和反向模式,可全面评估网络性能。

iperf 原理:iperf 网络性能测试工具原理详解