网络:带宽测试

1. iperf工具安装

1.1 通过yum安装(推荐)

1
yum -y install iperf

1.2 手动安装

  1. 访问官网下载页面:iperf下载
  2. 下载对应版本的安装包
  3. 安装命令:
1
2
npm -i iperf-<version>.npm
# 或使用系统包管理器安装下载的rpm/deb包

2. 防火墙配置

2.1 临时关闭防火墙(测试用)

1
systemctl stop firewalld

2.2 配置防火墙规则(生产环境推荐)

1
2
3
4
# 开放iperf默认端口5201
firewall-cmd --zone=public --add-port=5201/tcp --permanent
firewall-cmd --zone=public --add-port=5201/udp --permanent
firewall-cmd --reload

3. 测试方法

3.1 服务端启动命令

1
iperf -s -i 1 -f m

参数说明

  • -s:以服务器模式运行
  • -i 1:每秒显示一次报告
  • -f m:以Mbits/sec为单位显示结果

3.2 客户端测试命令

1
iperf -c <server_ip> -i 1 -t 30 -f m

参数说明

  • -c <server_ip>:指定服务器IP地址
  • -i 1:每秒显示一次报告
  • -t 30:测试持续30秒
  • -f m:以Mbits/sec为单位显示结果

4. 高级测试选项

4.1 TCP带宽测试

1
2
3
4
5
# 默认TCP测试(客户端)
iperf -c 10.50.51.58 -i 1 -t 30 -f m

# 并行TCP流测试(使用5个并行连接)
iperf -c 10.50.51.58 -i 1 -t 30 -P 5 -f m

4.2 UDP带宽测试

1
2
3
4
5
# 服务端
iperf -s -u -i 1 -f m

# 客户端(测试100Mbps UDP流量)
iperf -c 10.50.51.58 -u -b 100M -i 1 -t 30 -f m

4.3 双向测试

1
2
3
4
5
# 服务端
iperf -s -i 1 -f m

# 客户端(同时测试上行和下行)
iperf -c 10.50.51.58 -d -i 1 -t 30 -f m

5. 测试结果解读

5.1 典型输出示例

1
2
[ ID] Interval       Transfer     Bandwidth
[ 3] 0.0-10.0 sec 1.25 GBytes 1.07 Gbits/sec

5.2 结果说明

字段 说明
Interval 测试时间间隔
Transfer 传输的数据量
Bandwidth 测得的带宽值

6. 常见问题排查

  1. 连接失败

    • 检查防火墙设置
    • 确认服务端已正确启动
    • 验证网络连通性
  2. 带宽低于预期

    • 检查中间网络设备限制
    • 尝试调整TCP窗口大小(-w参数)
    • 测试不同并行连接数(-P参数)
  3. UDP测试丢包

    • 降低发送带宽(-b参数)
    • 检查网络设备QoS设置

7. 测试建议

  1. 长期监控
1
2
# 持续测试并输出到日志文件
iperf -c 10.50.51.58 -i 60 -t 3600 -f m >> bandwidth.log
  1. 自动化测试脚本
1
2
3
4
5
6
7
8
#!/bin/bash
SERVER_IP="10.50.51.58"
DURATION=30
INTERVAL=1

echo "Starting bandwidth test at $(date)"
iperf -c $SERVER_IP -i $INTERVAL -t $DURATION -f m
echo "Test completed at $(date)"
  1. 可视化工具
  • 使用iperf3配合grafana进行带宽监控可视化
  • 将测试结果导入Excel生成趋势图表