461 lines
9.7 KiB
Markdown
461 lines
9.7 KiB
Markdown
# 100并发测试指南 v3.11.10
|
||
|
||
## 📋 测试时间
|
||
2025-10-08
|
||
|
||
## 🎯 测试目标
|
||
|
||
在实施全面优化后,测试**100并发**的实际性能表现。
|
||
|
||
---
|
||
|
||
## ✅ 已实施的优化(v3.11.10)
|
||
|
||
### 核心优化清单
|
||
- [x] **连接稳定等待**:2000ms → 300ms(节省170秒/100个token)
|
||
- [x] **任务间隔**:500ms → 200ms(每个token节省约3秒)
|
||
- [x] **连接间隔**:500ms → 300ms(启动快40%)
|
||
- [x] **历史记录**:10条 → 3条(节省内存~70MB)
|
||
- [x] **日志开关**:添加ENABLE_BATCH_LOGS控制(节省CPU 10-15%)
|
||
|
||
### 预期效果
|
||
```
|
||
内存:1800MB → 1200MB(节省33%)⬇️
|
||
CPU: 60% → 35%(节省42%)⬇️
|
||
时间:单批3-4分钟 → 1.5-2分钟(快50%)⬇️
|
||
```
|
||
|
||
---
|
||
|
||
## 🧪 测试计划
|
||
|
||
### 阶段1:小规模测试(10个token)
|
||
|
||
**目的:** 验证基础功能正常
|
||
|
||
#### 测试步骤
|
||
1. 刷新页面(Ctrl + Shift + R)
|
||
2. 选择10个token
|
||
3. 并发数设置为:10
|
||
4. 选择任务模板:快速套餐
|
||
5. 点击"开始执行"
|
||
|
||
#### 观察指标
|
||
- [ ] 是否快速启动(3秒内全部开始)
|
||
- [ ] 任务管理器:内存占用 <500MB
|
||
- [ ] 任务管理器:CPU占用 <30%
|
||
- [ ] 页面是否流畅,可以正常滚动
|
||
- [ ] 成功率 >90%
|
||
|
||
#### 预期结果
|
||
```
|
||
启动时间:~3秒
|
||
执行时间:~1-2分钟
|
||
总时间: ~1.5-2分钟
|
||
成功率: >90%
|
||
```
|
||
|
||
---
|
||
|
||
### 阶段2:中规模测试(50个token)
|
||
|
||
**目的:** 测试中等负载
|
||
|
||
#### 测试步骤
|
||
1. 选择50个token
|
||
2. 并发数设置为:50
|
||
3. 选择任务模板:快速套餐
|
||
4. **重要:** 关闭其他浏览器标签页
|
||
5. 点击"开始执行"
|
||
|
||
#### 观察指标
|
||
- [ ] 启动时间:~15秒
|
||
- [ ] 内存占用:<1GB
|
||
- [ ] CPU占用:<40%
|
||
- [ ] 浏览器无崩溃、无卡死
|
||
- [ ] 成功率 >85%
|
||
|
||
#### 预期结果
|
||
```
|
||
启动时间:~15秒
|
||
执行时间:~1.5-2分钟
|
||
总时间: ~2分钟
|
||
成功率: >85%
|
||
```
|
||
|
||
---
|
||
|
||
### 阶段3:满载测试(100个token)⭐
|
||
|
||
**目的:** 测试100并发的实际表现
|
||
|
||
#### ⚠️ 测试前准备
|
||
|
||
**必须完成:**
|
||
1. ✅ 关闭所有其他浏览器标签页
|
||
2. ✅ 关闭不必要的应用程序
|
||
3. ✅ 确保可用内存 >2GB
|
||
4. ✅ 确保网络稳定
|
||
5. ✅ 选择服务器空闲时段
|
||
|
||
#### 测试步骤
|
||
1. 选择100个token
|
||
2. 并发数设置为:**100**
|
||
3. 选择任务模板:**快速套餐**(不要选完整套餐,太慢)
|
||
4. 打开任务管理器,监控性能
|
||
5. 点击"开始执行"
|
||
|
||
#### 实时监控(重要!)
|
||
|
||
**任务管理器监控:**
|
||
```
|
||
内存占用目标:<1.5GB
|
||
CPU占用目标: <40%
|
||
```
|
||
|
||
**浏览器监控:**
|
||
```
|
||
打开F12控制台,观察:
|
||
- 是否有大量错误
|
||
- 是否有超时警告
|
||
- WebSocket连接状态
|
||
```
|
||
|
||
**页面监控:**
|
||
```
|
||
- 是否可以滚动
|
||
- 是否可以点击
|
||
- token卡片是否正常更新
|
||
```
|
||
|
||
#### 观察指标
|
||
|
||
**性能指标:**
|
||
- [ ] 启动时间:<30秒
|
||
- [ ] 内存占用:<1.5GB
|
||
- [ ] CPU占用:<45%
|
||
- [ ] 浏览器无崩溃
|
||
- [ ] 页面基本流畅
|
||
|
||
**任务指标:**
|
||
- [ ] 连接成功率 >90%
|
||
- [ ] 任务成功率 >80%
|
||
- [ ] 重试触发率 <15%
|
||
- [ ] 单批完成时间:1.5-2.5分钟
|
||
|
||
#### 预期结果(理想情况)
|
||
```
|
||
启动时间: ~30秒
|
||
执行时间: ~1.5-2分钟
|
||
总时间: ~2-2.5分钟
|
||
内存峰值: ~1.2-1.5GB
|
||
CPU平均: ~35-40%
|
||
成功率: >85%
|
||
```
|
||
|
||
#### 可接受结果(实际情况可能)
|
||
```
|
||
启动时间: ~30-45秒
|
||
执行时间: ~2-3分钟
|
||
总时间: ~2.5-3.5分钟
|
||
内存峰值: ~1.5-1.8GB
|
||
CPU平均: ~40-50%
|
||
成功率: >75%
|
||
```
|
||
|
||
#### 不可接受结果(需要调整)
|
||
```
|
||
启动时间: >60秒
|
||
执行时间: >4分钟
|
||
内存峰值: >2GB
|
||
CPU平均: >60%
|
||
成功率: <70%
|
||
浏览器: 崩溃/卡死
|
||
```
|
||
|
||
---
|
||
|
||
### 阶段4:全量测试(700个token,分7批)
|
||
|
||
**目的:** 测试700个token的完整流程
|
||
|
||
#### 测试方案
|
||
|
||
**方案A:自动批次(推荐)**
|
||
```
|
||
并发设置:100
|
||
自动执行:7批
|
||
每批间隔:无需等待,自动进行
|
||
总预计时间:7批 × 2分钟 = 14分钟
|
||
```
|
||
|
||
**方案B:手动分批(保守)**
|
||
```
|
||
每次运行:100个token
|
||
手动运行:7次
|
||
每批间隔:等待5分钟(让系统休息)
|
||
总预计时间:7批 × 2分钟 + 6次间隔 × 5分钟 = 44分钟
|
||
```
|
||
|
||
**方案C:分时段(最稳定)**
|
||
```
|
||
上午:运行230个token(并发100)
|
||
中午:运行240个token(并发100)
|
||
晚上:运行230个token(并发100)
|
||
```
|
||
|
||
#### 测试步骤(方案A)
|
||
1. 选择全部700个token
|
||
2. 并发数:100
|
||
3. 任务模板:快速套餐
|
||
4. 启用自动重试:3轮
|
||
5. 开始执行
|
||
6. **每隔5分钟查看一次进度**
|
||
|
||
#### 监控要点
|
||
- [ ] 每批是否正常完成
|
||
- [ ] 批次间是否正常衔接
|
||
- [ ] 整体成功率
|
||
- [ ] 是否有批次失败
|
||
- [ ] 浏览器是否稳定
|
||
|
||
#### 预期结果
|
||
```
|
||
总批次: 7批
|
||
单批时间: 1.5-2.5分钟
|
||
总时间: 10.5-17.5分钟
|
||
整体成功率:>80%
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 性能数据记录表
|
||
|
||
### 请在测试时填写
|
||
|
||
#### 10个Token测试
|
||
| 指标 | 实际值 | 是否达标 |
|
||
|------|--------|---------|
|
||
| 启动时间 | ___秒 | [ ] |
|
||
| 执行时间 | ___分___秒 | [ ] |
|
||
| 内存峰值 | ___MB | [ ] |
|
||
| CPU平均 | ___% | [ ] |
|
||
| 成功率 | ___% | [ ] |
|
||
|
||
#### 50个Token测试
|
||
| 指标 | 实际值 | 是否达标 |
|
||
|------|--------|---------|
|
||
| 启动时间 | ___秒 | [ ] |
|
||
| 执行时间 | ___分___秒 | [ ] |
|
||
| 内存峰值 | ___MB | [ ] |
|
||
| CPU平均 | ___% | [ ] |
|
||
| 成功率 | ___% | [ ] |
|
||
|
||
#### 100个Token测试
|
||
| 指标 | 实际值 | 目标值 | 是否达标 |
|
||
|------|--------|--------|---------|
|
||
| 启动时间 | ___秒 | <30秒 | [ ] |
|
||
| 执行时间 | ___分___秒 | 1.5-2.5分钟 | [ ] |
|
||
| 总时间 | ___分___秒 | 2-3分钟 | [ ] |
|
||
| 内存峰值 | ___MB | <1500MB | [ ] |
|
||
| CPU平均 | ___% | <45% | [ ] |
|
||
| 连接成功率 | ___% | >90% | [ ] |
|
||
| 任务成功率 | ___% | >80% | [ ] |
|
||
| 浏览器状态 | 正常/卡顿/崩溃 | 正常 | [ ] |
|
||
|
||
#### 700个Token测试
|
||
| 指标 | 实际值 | 目标值 | 是否达标 |
|
||
|------|--------|--------|---------|
|
||
| 总批次 | 7批 | 7批 | [ ] |
|
||
| 单批平均时间 | ___分___秒 | 1.5-2.5分钟 | [ ] |
|
||
| 总时间 | ___分___秒 | 10.5-17.5分钟 | [ ] |
|
||
| 整体成功率 | ___% | >80% | [ ] |
|
||
| 是否有崩溃 | 是/否 | 否 | [ ] |
|
||
|
||
---
|
||
|
||
## ⚠️ 常见问题排查
|
||
|
||
### 问题1:浏览器崩溃或卡死
|
||
|
||
**可能原因:**
|
||
- 内存不足
|
||
- CPU过载
|
||
- token数量太多
|
||
|
||
**解决方案:**
|
||
1. 降低并发数:100 → 70 → 50
|
||
2. 启用日志开关:ENABLE_BATCH_LOGS = false(已默认)
|
||
3. 关闭其他应用程序
|
||
4. 重启浏览器
|
||
|
||
### 问题2:大量任务超时
|
||
|
||
**可能原因:**
|
||
- 网络不稳定
|
||
- 服务器响应慢
|
||
- 超时时间太短
|
||
|
||
**解决方案:**
|
||
1. 检查网络连接
|
||
2. 降低并发数
|
||
3. 增加超时时间(修改代码)
|
||
4. 错峰执行
|
||
|
||
### 问题3:成功率低于70%
|
||
|
||
**可能原因:**
|
||
- 服务器限流
|
||
- Token失效
|
||
- 并发太高
|
||
|
||
**解决方案:**
|
||
1. 降低并发数:100 → 50
|
||
2. 增加连接间隔:300ms → 500ms
|
||
3. 增加任务间隔:200ms → 500ms
|
||
4. 检查token有效性
|
||
|
||
### 问题4:内存持续增长不释放
|
||
|
||
**可能原因:**
|
||
- 内存泄漏
|
||
- WebSocket未正确断开
|
||
|
||
**解决方案:**
|
||
1. 检查控制台是否有错误
|
||
2. 重启浏览器
|
||
3. 清除浏览器缓存
|
||
4. 分批执行,每批间隔休息
|
||
|
||
---
|
||
|
||
## 📋 测试检查清单
|
||
|
||
### 测试前准备
|
||
- [ ] 已刷新页面加载最新代码
|
||
- [ ] 已关闭其他浏览器标签页
|
||
- [ ] 已关闭不必要的应用程序
|
||
- [ ] 已确认内存 >2GB 可用
|
||
- [ ] 已确认网络稳定
|
||
- [ ] 已打开任务管理器监控
|
||
|
||
### 测试过程
|
||
- [ ] 按计划执行各阶段测试
|
||
- [ ] 实时监控性能指标
|
||
- [ ] 记录所有测试数据
|
||
- [ ] 截图关键问题
|
||
- [ ] 保存控制台错误日志
|
||
|
||
### 测试后
|
||
- [ ] 填写性能数据记录表
|
||
- [ ] 分析测试结果
|
||
- [ ] 识别性能瓶颈
|
||
- [ ] 提出优化建议
|
||
- [ ] 决定是否需要进一步优化
|
||
|
||
---
|
||
|
||
## 🎯 测试成功标准
|
||
|
||
### 最低标准(必须达到)
|
||
```
|
||
✅ 100并发可以正常运行完成
|
||
✅ 浏览器不崩溃、不卡死
|
||
✅ 成功率 >70%
|
||
✅ 内存 <2GB
|
||
✅ CPU <60%
|
||
```
|
||
|
||
### 理想标准(期望达到)
|
||
```
|
||
⭐ 100并发流畅运行
|
||
⭐ 成功率 >85%
|
||
⭐ 内存 <1.5GB
|
||
⭐ CPU <45%
|
||
⭐ 单批时间 <2.5分钟
|
||
⭐ 700个token总时间 <15分钟
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 测试报告模板
|
||
|
||
测试完成后,请按以下模板提供反馈:
|
||
|
||
```
|
||
===== 100并发测试报告 =====
|
||
|
||
测试时间:____年__月__日 __:__
|
||
浏览器: Chrome / Edge / Firefox (版本:____)
|
||
系统: Windows / Mac / Linux
|
||
内存总量:____GB
|
||
|
||
【10个Token测试】
|
||
- 结果:成功 / 失败
|
||
- 时间:____
|
||
- 问题:____
|
||
|
||
【50个Token测试】
|
||
- 结果:成功 / 失败
|
||
- 时间:____
|
||
- 问题:____
|
||
|
||
【100个Token测试】⭐
|
||
- 结果:成功 / 失败 / 部分成功
|
||
- 启动时间:____秒
|
||
- 执行时间:____分钟
|
||
- 内存峰值:____MB
|
||
- CPU平均: ____%
|
||
- 成功率: ____%
|
||
- 主要问题:____
|
||
- 建议调整:____
|
||
|
||
【700个Token测试】
|
||
- 是否完成:是 / 否 / 进行中
|
||
- 总时间:____分钟
|
||
- 整体成功率:____%
|
||
- 主要问题:____
|
||
|
||
【整体评价】
|
||
- 是否满足需求:是 / 否 / 基本满足
|
||
- 是否需要进一步优化:是 / 否
|
||
- 其他建议:____
|
||
|
||
===== 报告结束 =====
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 下一步行动
|
||
|
||
根据测试结果决定:
|
||
|
||
### 如果测试成功(达到理想标准)
|
||
```
|
||
✅ 继续使用当前配置
|
||
✅ 可以正式用于700个token
|
||
✅ 监控长期稳定性
|
||
```
|
||
|
||
### 如果基本成功(达到最低标准)
|
||
```
|
||
📊 分析性能瓶颈
|
||
💡 考虑实施虚拟滚动等高级优化
|
||
🔧 调整部分参数
|
||
```
|
||
|
||
### 如果测试失败(未达标准)
|
||
```
|
||
⚠️ 降低并发数(100 → 70 → 50)
|
||
⚠️ 增加延迟时间
|
||
⚠️ 分批执行
|
||
⚠️ 考虑硬件升级或多浏览器方案
|
||
```
|
||
|
||
---
|
||
|
||
**祝测试顺利!** 🎯
|
||
|
||
有任何问题请随时反馈,我会根据您的测试结果提供进一步的优化建议!
|
||
|