名称: 性能测试规划 描述: 设计性能测试策略,包括负载配置文件、容量规划、SLA验证,以及使用NBomber和k6进行.NET性能测试。 允许工具: Read, Write, Glob, Grep, Task, WebSearch, WebFetch
性能测试规划
何时使用此技能
在以下情况下使用此技能:
- 性能测试规划任务 - 设计负载配置文件、容量规划、SLA验证
- 规划或设计 - 需要关于性能测试方法的指导
- 最佳实践 - 想要遵循既定模式和标准
概述
性能测试验证系统在预期和峰值负载下满足非功能性需求。有效规划识别关键路径、定义现实负载配置文件,并建立可衡量的成功标准。
性能测试类型
| 类型 | 目的 | 负载模式 | 持续时间 |
|---|---|---|---|
| 负载测试 | 验证预期负载 | 正常流量 | 15-60分钟 |
| 压力测试 | 查找故障点 | 持续增加直到失败 | 直到失败 |
| 浸透测试 | 查找内存泄漏 | 持续正常负载 | 4-24小时 |
| 峰值测试 | 处理突发流量 | 急剧增加/减少 | 10-30分钟 |
| 容量测试 | 确定最大容量 | 逐步增加 | 可变 |
| 可扩展性测试 | 验证水平扩展 | 随资源增加 | 可变 |
负载配置文件模式
斜坡上升模式
用户数
│
100├────────────────────────●
│ ●────
│ ●────
50├ ●────
│ ●────
│●────
0└─────────────────────────►
0 1 2 3 4 5 分钟
峰值模式
用户数
│ ●
│ ╱ ╲
500├──────╱ ╲──────
│ ╱ ╲
│ ╱ ╲
100├───● ●───
│
0└─────────────────────────►
0 5 10 15 20 分钟
快速参考:指标目标
| 指标 | 目标 | 关键阈值 |
|---|---|---|
| 响应时间 (p50) | < 100毫秒 | < 200毫秒 |
| 响应时间 (p95) | < 200毫秒 | < 500毫秒 |
| 响应时间 (p99) | < 500毫秒 | < 1000毫秒 |
| 吞吐量 | > 1000 RPS | > 500 RPS |
| 错误率 | < 0.1% | < 1% |
| CPU利用率 | < 70% | < 90% |
关键公式
Little’s Law: L = λ × W (并发请求数 = 到达率 × 响应时间)
吞吐量: 并发用户数 / 平均响应时间
Apdex: (满意 + 容忍/2) / 总数
参考资料
| 参考资料 | 内容 | 何时加载 |
|---|---|---|
| 性能策略模板.md | 完整策略模板、范围、环境、场景 | 规划性能测试策略 |
| nbomber示例.md | 基本负载测试、复杂场景、数据驱动测试 | 实现.NET性能测试 |
| 容量规划.md | Little’s Law、吞吐量、Apdex、BenchmarkDotNet | 容量规划计算 |
集成点
输入来源:
- 非功能性需求 → SLA目标
- 架构文档 → 组件拓扑
测试策略规划技能 → 测试范围
输出至:
- CI/CD流水线 → 自动化性能门控
- 监控系统 → 基线指标
- 容量规划 → 基础设施规模
测试场景
场景1:规划性能策略
查询: “帮助我为我们的API创建一个性能测试计划”
预期: 技能激活,提供策略模板,引导完成目标和范围
场景2:实施负载测试
查询: “展示如何在.NET中使用NBomber进行负载测试”
预期: 技能激活,加载nbomber示例.md参考,提供代码示例
场景3:容量规划
查询: “如何为10,000用户计算容量需求?”
预期: 技能激活,加载容量规划.md参考,提供公式和模板
最后更新: 2025-12-28
版本历史
- v1.1.0 (2025-12-28): 重构以渐进式披露 - 提取模板/示例到参考资料/
- v1.0.0 (2025-12-26): 初始发布