Linux iperf 命令

Linux 命令大全 Linux 命令大全


iperf 是一个专业的网络性能测试工具,用于测量 TCP 和 UDP 带宽性能。它能够报告带宽、延迟抖动和数据包丢失等网络性能指标。

iperf 的主要特点:

  • 支持 TCP 和 UDP 测试
  • 可以调整各种参数如 TCP 窗口大小、UDP 带宽等
  • 支持双向测试(同时上传和下载)
  • 跨平台支持(Linux、Windows、macOS 等)

安装 iperf

Linux 系统安装

在大多数 Linux 发行版中,可以通过包管理器安装:

实例

# Debian/Ubuntu
sudo apt-get install iperf3

# CentOS/RHEL
sudo yum install iperf3

# Fedora
sudo dnf install iperf3

# Arch Linux
sudo pacman -S iperf3

Windows 安装

可以从 iperf 官网 下载预编译的二进制文件。


基本使用方法

iperf 采用客户端-服务器模式工作。需要在一台机器上运行服务器,另一台作为客户端连接测试。

启动 iperf 服务器

iperf3 -s

默认监听 5201 端口,可以使用 -p 参数指定其他端口:

iperf3 -s -p 5001

客户端连接测试

iperf3 -c 

例如测试到 192.168.1.100 的带宽:

iperf3 -c 192.168.1.100

常用参数说明

通用参数

参数 说明
-p 指定端口号
-t 测试时间(秒),默认 10 秒
-i 间隔时间(秒)报告一次结果
-f 显示单位(Kbits, Mbits, KBytes, MBytes)
-V 显示版本信息并退出
-h 显示帮助信息

服务器端参数

参数 说明
-s 以服务器模式运行
-D 以守护进程模式运行

客户端参数

参数 说明
-c 以客户端模式运行,后接服务器地址
-u 使用 UDP 协议而非 TCP
-b 设置目标带宽(UDP 模式)
-w 设置 TCP 窗口大小
-P 并行连接数
-R 反向测试(服务器发送,客户端接收)

实际应用示例

1. 基本 TCP 带宽测试

服务器端:

iperf3 -s

客户端:

iperf3 -c 192.168.1.100

输出示例:

[ ID] Interval           Transfer     Bitrate
[  4]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec

2. UDP 带宽测试

服务器端:

iperf3 -s

客户端(测试 100Mbps UDP):

iperf3 -c 192.168.1.100 -u -b 100M

3. 多线程测试

使用 4 个并行连接:

iperf3 -c 192.168.1.100 -P 4

4. 双向同时测试

服务器端:

iperf3 -s

客户端:

iperf3 -c 192.168.1.100 --bidir

5. 长时间测试(60秒)

iperf3 -c 192.168.1.100 -t 60

结果解读

iperf 测试结果通常包含以下信息:

  1. Interval:测试时间区间
  2. Transfer:传输的数据量
  3. Bitrate:带宽(比特率)
  4. Retr:TCP 重传次数(仅 TCP)
  5. Jitter:抖动(仅 UDP)
  6. Lost/Total Datagrams:丢包率(仅 UDP)

对于网络质量评估:

  • TCP 测试更适合测量最大可用带宽
  • UDP 测试可以测量抖动和丢包率,对实时应用(如 VoIP、视频会议)更重要

高级用法

1. 设置 TCP 窗口大小

iperf3 -c 192.168.1.100 -w 256K

2. 测试特定端口

实例

# 服务器
iperf3 -s -p 5001

# 客户端
iperf3 -c 192.168.1.100 -p 5001

3. 输出到文件

iperf3 -c 192.168.1.100 --logfile result.txt

4. JSON 格式输出

iperf3 -c 192.168.1.100 -J

常见问题解决

1. 连接被拒绝

确保:

  • 服务器端 iperf 已启动
  • 防火墙允许 iperf 端口(默认 5201)
  • 客户端使用正确的 IP 和端口

2. 带宽测试结果远低于预期

可能原因:

  • 网络中存在瓶颈(交换机、路由器限制)
  • 网卡设置问题(检查双工模式、速度)
  • 系统资源不足(CPU、内存占用过高)

3. UDP 测试丢包率高

建议:

  • 降低 UDP 带宽目标值
  • 检查网络设备 QoS 设置
  • 测试不同时间段网络状况

实际应用场景

  1. 网络设备验收:验证新部署的网络设备性能
  2. 带宽监控:定期测试网络带宽变化
  3. 故障排查:定位网络性能问题
  4. QoS 验证:测试服务质量策略效果
  5. 无线网络测试:评估 WiFi 信号强度和稳定性

总结

iperf 是网络工程师必备的带宽测试工具,通过本文您应该已经掌握了:

  • iperf 的基本工作原理
  • 服务器和客户端的启动方法
  • 常用参数和使用示例
  • 测试结果的分析方法
  • 常见问题的解决方案

建议在实际网络环境中多进行测试练习,熟悉不同参数组合的效果,以便在需要时能够快速准确地评估网络性能。


Linux 命令大全 Linux 命令大全