使用 iperf3 工具测试TCP/UDP吞吐量

测试目标

  • 测试网络的 TCP 和 UDP 吞吐量性能,包括不同并发连接数和目标带宽条件下的表现。

测试环境

  • **测试工具**: iperf3

  • **固定 IP 地址**:

  • 服务器 IP: `192.168.1.10`

  • 客户端 IP: `192.168.1.20`

  • **端口号**: `5201`

测试准备

  1. **安装 iperf3**:

在服务器和客户端上安装 iperf3:

sudo apt-get install iperf3

  1. **启动服务器端**:

在服务器上执行以下命令以开始监听:

iperf3 -s -p 5201

测试步骤

4.1 TCP 吞吐量测试

  1. **执行客户端测试**:

在客户端上进行 TCP 吞吐量测试,循环执行,并将结果重定向到文件 `tcp_results.txt`:

```

for i in {1..5}; do

iperf3 -c 192.168.1.10 -p 5201 -t 60 -P 1 >> tcp_results.txt

echo "=====================" >> tcp_results.txt

done

```

  1. **增加进程数**:

执行 TCP 测试时增加并发连接数(例如:4个连接)并记录结果:

```

for i in {1..5}; do

iperf3 -c 192.168.1.10 -p 5201 -t 60 -P 4 >> tcp_results.txt

echo "=====================" >> tcp_results.txt

done

```

4.2 UDP 吞吐量测试

  1. **执行客户端测试**:

在客户端上进行 UDP 吞吐量测试,循环执行并将结果重定向到文件 `udp_results.txt`,设置目标带宽为 100 Mbps:

```

for i in {1..5}; do

iperf3 -c 192.168.1.10 -p 5201 -u -t 60 -b 100M >> udp_results.txt

echo "=====================" >> udp_results.txt

done

```

  1. **增加目标带宽变化**:

修改目标带宽参数进行多次测试,记录不同带宽下的结果:

```

for bandwidth in 50M 100M 200M; do

for i in {1..5}; do

iperf3 -c 192.168.1.10 -p 5201 -u -t 60 -b $bandwidth >> udp_results.txt

echo "=====================" >> udp_results.txt

done

done

```

  1. **增加进程数变化**:

对于 UDP 测试,指定并发连接数并记录结果:

```

for bandwidth in 100M; do

for i in {1..5}; do

iperf3 -c 192.168.1.10 -p 5201 -u -t 60 -b $bandwidth -P 4 >> udp_results.txt

echo "=====================" >> udp_results.txt

done

done

```

5. 数据统计与分析

5.1 结果整理

  • 整理 `tcp_results.txt` 和 `udp_results.txt` 中的结果,提取关键信息(如带宽、丢包率、延迟等)。

5.2 示例表格格式

| 测试类型 | 进程数 | 目标带宽 | 平均带宽 (Mbps) | 丢包率 (%) | 发送端统计信息 | 接收端统计信息 |

|----------|--------|----------|-----------------|-------------|-----------------|-----------------|

| TCP | 1 | N/A | XX | N/A | XX | XX |

| TCP | 4 | N/A | XX | N/A | XX | XX |

| UDP | 1 | 50M | XX | XX | XX | XX |

| UDP | 1 | 100M | XX | XX | XX | XX |

| UDP | 1 | 200M | XX | XX | XX | XX |

| UDP | 4 | 100M | XX | XX | XX | XX |

测试报告

  • 整理测试结果,形成报告,包含以下内容:

  • 测试环境概述

  • 测试步骤

  • TCP 和 UDP 吞吐量结果总结

  • 数据分析及结论

注意事项

  • 确保在测试期间网络没有其他干扰(如大流量传输)。

  • 多次运行测试以获取更具代表性的结果,并计算平均值。

  • 根据需求调整测试时长和带宽配置。

相关推荐
草莓熊Lotso13 分钟前
unordered_map/unordered_set 使用指南:差异、性能与场景选择
java·开发语言·c++·人工智能·经验分享·python·网络协议
二狗mao8 小时前
Uniapp使用websocket进行ai回答的流式输出
websocket·网络协议·uni-app
1560820721913 小时前
基于7VX690T FPGA实现万兆TCP/IP资源和性能测试
网络协议·tcp/ip·fpga开发
踏浪无痕16 小时前
线上偶发 502 排查:用 Netty 成功复现 KeepAlive 时间窗口案例实战(附完整源码)
运维·网络协议
爱学习的小可爱卢16 小时前
Java UDP编程实战:UDP数据报套接字编程DatagramPacket、DatagramSocket 、InetSocketAddress
java·udp·udp数据报
北京耐用通信16 小时前
告别“牵一发而动全身”:耐达讯自动化Profibus PA分线器为石化流量计网络构筑安全屏障
人工智能·网络协议·安全·自动化·信息与通信
Sinowintop16 小时前
易连EDI-EasyLink无缝集成之消息队列Kafka
分布式·网络协议·kafka·集成·国产化·as2·国产edi
车载测试工程师17 小时前
CAPL学习-IP API函数-2
网络·学习·tcp/ip·capl·canoe
●VON18 小时前
在鸿蒙 PC 上使用 Electron 获取本机 IP 地址
tcp/ip·electron·harmonyos
车载测试工程师19 小时前
CAPL学习-IP API函数-1
网络·学习·tcp/ip·capl·canoe·doip