# 性能测试计划

## 工具推荐
- **Artillery** - HTTP 负载测试
- **K6** - 现代化负载测试工具
- **Apache JMeter** - 传统但功能强大

## 测试场景

### 1. 账户创建性能
```bash
# 使用 k6 测试
k6 run --vus 100 --duration 30s account-creation-test.js
```
- 目标：100 并发用户，持续 30 秒
- 指标：
  - 平均响应时间 < 500ms
  - P95 响应时间 < 1000ms
  - 错误率 < 0.1%
  - TPS (每秒事务数) > 200

### 2. 登录/刷新 Token 性能
- 目标：200 并发用户
- 指标：
  - 平均响应时间 < 200ms
  - P95 < 500ms

### 3. 助记词恢复性能
- 目标：50 并发用户（计算密集型操作）
- 指标：
  - 平均响应时间 < 2000ms
  - 不应该阻塞其他请求

### 4. 数据库连接池测试
- 测试连接池耗尽场景
- 测试连接泄漏检测

### 5. 内存泄漏测试
- 长时间运行测试（24小时）
- 监控内存使用趋势

## 压力测试
```bash
# 逐步增加负载直到系统崩溃
k6 run --stages \
  "5m:100" \   # 5分钟内增加到100用户
  "10m:500" \  # 10分钟内增加到500用户
  "5m:1000" \  # 5分钟内增加到1000用户
  "10m:0" \    # 10分钟内降回0
  stress-test.js
```

找到系统的极限：
- 最大并发用户数
- 最大 TPS
- 崩溃点
