添加高并发性能测试报告 (#7)
This commit is contained in:
182
PERFORMANCE_TEST_REPORT.md
Normal file
182
PERFORMANCE_TEST_REPORT.md
Normal file
@@ -0,0 +1,182 @@
|
||||
# 蛇游戏高并发性能测试报告
|
||||
|
||||
**测试日期:** 2026-02-28
|
||||
**测试工具:** Apache Bench (ab) Version 2.3
|
||||
**测试目标:** http://192.168.120.60:80
|
||||
**服务器:** nginx/1.18.0
|
||||
|
||||
---
|
||||
|
||||
## 📊 测试概述
|
||||
|
||||
本次测试对蛇游戏 Web 服务器进行了三轮不同并发级别的压力测试,评估服务器在高负载情况下的性能表现。
|
||||
|
||||
### 测试场景
|
||||
|
||||
| 场景 | 并发数 | 总请求数 | 文档大小 |
|
||||
|------|--------|----------|----------|
|
||||
| 场景 1 | 100 | 1,000 | 1,687 bytes |
|
||||
| 场景 2 | 500 | 5,000 | 1,687 bytes |
|
||||
| 场景 3 | 1,000 | 10,000 | 1,687 bytes |
|
||||
| 静态资源 | 500 | 5,000 | 6,723 bytes (game.js) |
|
||||
|
||||
---
|
||||
|
||||
## 📈 测试结果
|
||||
|
||||
### 场景 1: 100 并发,1000 请求
|
||||
|
||||
```
|
||||
Concurrency Level: 100
|
||||
Time taken for tests: 0.129 seconds
|
||||
Complete requests: 1000
|
||||
Failed requests: 0
|
||||
Requests per second: 7723.20 [#/sec] (mean)
|
||||
Time per request: 12.948 [ms] (mean)
|
||||
Transfer rate: 15024.04 [Kbytes/sec] received
|
||||
|
||||
Connection Times (ms)
|
||||
min mean[+/-sd] median max
|
||||
Connect: 0 5 1.2 5 9
|
||||
Processing: 3 7 1.8 7 13
|
||||
Total: 7 12 1.2 13 15
|
||||
|
||||
Percentile Response Times:
|
||||
50% 13ms
|
||||
90% 14ms
|
||||
95% 14ms
|
||||
99% 15ms
|
||||
100% 15ms
|
||||
```
|
||||
|
||||
✅ **结果:** 优秀 - 零失败,响应迅速
|
||||
|
||||
---
|
||||
|
||||
### 场景 2: 500 并发,5000 请求
|
||||
|
||||
```
|
||||
Concurrency Level: 500
|
||||
Time taken for tests: 0.670 seconds
|
||||
Complete requests: 5000
|
||||
Failed requests: 0
|
||||
Requests per second: 7467.26 [#/sec] (mean)
|
||||
Time per request: 66.959 [ms] (mean)
|
||||
Transfer rate: 14526.15 [Kbytes/sec] received
|
||||
|
||||
Connection Times (ms)
|
||||
min mean[+/-sd] median max
|
||||
Connect: 0 28 6.2 28 42
|
||||
Processing: 13 36 9.9 35 72
|
||||
Total: 34 64 5.9 63 84
|
||||
|
||||
Percentile Response Times:
|
||||
50% 63ms
|
||||
90% 68ms
|
||||
95% 75ms
|
||||
99% 78ms
|
||||
100% 84ms
|
||||
```
|
||||
|
||||
✅ **结果:** 良好 - 零失败,性能稳定
|
||||
|
||||
---
|
||||
|
||||
### 场景 3: 1000 并发,10000 请求
|
||||
|
||||
```
|
||||
Concurrency Level: 1000
|
||||
Time taken for tests: 1.273 seconds
|
||||
Complete requests: 10000
|
||||
Failed requests: 384 (3.84%)
|
||||
(Connect: 0, Receive: 0, Length: 192, Exceptions: 192)
|
||||
Requests per second: 7858.18 [#/sec] (mean)
|
||||
Time per request: 127.256 [ms] (mean)
|
||||
Transfer rate: 14993.12 [Kbytes/sec] received
|
||||
|
||||
Connection Times (ms)
|
||||
min mean[+/-sd] median max
|
||||
Connect: 0 53 8.9 53 74
|
||||
Processing: 25 68 15.3 69 113
|
||||
Total: 69 121 10.5 121 141
|
||||
|
||||
Percentile Response Times:
|
||||
50% 121ms
|
||||
90% 131ms
|
||||
95% 132ms
|
||||
98% 140ms
|
||||
99% 141ms
|
||||
100% 141ms
|
||||
```
|
||||
|
||||
⚠️ **结果:** 可接受 - 出现 3.84% 失败率,但整体性能仍稳定
|
||||
|
||||
---
|
||||
|
||||
### 静态资源测试: game.js (500 并发,5000 请求)
|
||||
|
||||
```
|
||||
Concurrency Level: 500
|
||||
Time taken for tests: 0.670 seconds
|
||||
Complete requests: 5000
|
||||
Failed requests: 0
|
||||
Requests per second: 7466.88 [#/sec] (mean)
|
||||
Time per request: 66.962 [ms] (mean)
|
||||
Transfer rate: 51677.50 [Kbytes/sec] received
|
||||
```
|
||||
|
||||
✅ **结果:** 优秀 - 静态资源传输效率高
|
||||
|
||||
---
|
||||
|
||||
## 📊 性能分析
|
||||
|
||||
### 吞吐量对比
|
||||
|
||||
| 场景 | 请求/秒 | 失败率 | 平均响应时间 | P95 响应时间 |
|
||||
|------|---------|--------|--------------|--------------|
|
||||
| 100 并发 | 7,723 | 0% | 12.9ms | 14ms |
|
||||
| 500 并发 | 7,467 | 0% | 67.0ms | 75ms |
|
||||
| 1000 并发 | 7,858 | 3.84% | 127.3ms | 132ms |
|
||||
|
||||
### 关键发现
|
||||
|
||||
1. **吞吐量稳定:** 服务器在不同并发级别下均保持约 7,500-7,800 请求/秒的吞吐量
|
||||
2. **线性扩展:** 响应时间随并发数增加呈线性增长,符合预期
|
||||
3. **失败率:** 1000 并发时出现少量失败 (3.84%),主要是连接异常
|
||||
4. **静态资源:** nginx 对静态文件的传输效率优秀 (51MB/s)
|
||||
|
||||
---
|
||||
|
||||
## ✅ 结论
|
||||
|
||||
### 性能评级: **A**
|
||||
|
||||
蛇游戏服务器在正常负载下表现优秀:
|
||||
|
||||
- ✅ **低并发 (100):** 完美表现,零失败,响应时间 < 15ms
|
||||
- ✅ **中并发 (500):** 表现良好,零失败,响应时间 < 85ms
|
||||
- ⚠️ **高并发 (1000):** 可接受,少量失败 (< 4%),响应时间 < 145ms
|
||||
|
||||
### 建议
|
||||
|
||||
1. **当前配置适合生产使用** - 对于单机游戏服务器,性能完全足够
|
||||
2. **建议并发上限:** 500 并发以下可保证 100% 成功率
|
||||
3. **优化方向 (可选):**
|
||||
- 启用 nginx 连接保持 (keepalive)
|
||||
- 配置静态资源缓存头
|
||||
- 考虑启用 gzip 压缩
|
||||
|
||||
---
|
||||
|
||||
## 🔧 测试环境
|
||||
|
||||
- **测试工具:** Apache Bench 2.3
|
||||
- **测试机器:** Ubuntu Linux
|
||||
- **目标服务器:** nginx/1.18.0 @ 192.168.120.60:80
|
||||
- **网络环境:** 内网直连
|
||||
|
||||
---
|
||||
|
||||
**报告生成时间:** 2026-02-28 00:45 UTC
|
||||
**测试执行:** 大壮 (专属 AI 助理) 💪
|
||||
Reference in New Issue
Block a user