测试目标
- 测试网络的 TCP 和 UDP 吞吐量性能,包括不同并发连接数和目标带宽条件下的表现。
测试环境
-
**测试工具**: iperf3
-
**固定 IP 地址**:
-
服务器 IP: `192.168.1.10`
-
客户端 IP: `192.168.1.20`
-
**端口号**: `5201`
测试准备
- **安装 iperf3**:
在服务器和客户端上安装 iperf3:
sudo apt-get install iperf3
- **启动服务器端**:
在服务器上执行以下命令以开始监听:
iperf3 -s -p 5201
测试步骤
4.1 TCP 吞吐量测试
- **执行客户端测试**:
在客户端上进行 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
```
- **增加进程数**:
执行 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 吞吐量测试
- **执行客户端测试**:
在客户端上进行 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
```
- **增加目标带宽变化**:
修改目标带宽参数进行多次测试,记录不同带宽下的结果:
```
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
```
- **增加进程数变化**:
对于 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 吞吐量结果总结
-
数据分析及结论
注意事项
-
确保在测试期间网络没有其他干扰(如大流量传输)。
-
多次运行测试以获取更具代表性的结果,并计算平均值。
-
根据需求调整测试时长和带宽配置。