AGILE TEAM
Skip to content

性能测试规范

📦 来源:wl-skills-test v0.11.0 · standards/07-performance.md · 可判定条目由 wl-skills-test audit(T 系列)与 gate 自动执行。

适用范围

本规范适用于性能测试方案设计、脚本编写与执行。性能测试使用 JMeter 5.6.3,必须遵循本规范的场景设计与 XML 配置规则。

工具与环境

组件版本 / 说明
JMeter5.6.3
ServerAgent部署在被测服务器,采集 CPU / 内存
数据驱动CSV Data Set Config
压测机独立机器,避免与被测系统争抢资源

三场景设计

场景目的特征
日常场景验证日常负载下的稳定性模拟日常并发
峰值场景验证峰值负载下的响应模拟高峰并发
疲劳场景验证长时间运行的稳定性持续运行 8h+

SLA 阈值

指标日常峰值
P99 响应时间< 500ms< 1000ms(放宽)
错误率< 0.1%< 1%
吞吐量达到目标 TPS达到峰值 TPS
资源使用CPU < 70%CPU < 85%

并发梯度计算

并发用户数按以下方式估算:

  • 基于业务峰值在线用户数与请求频率。
  • 并发 = 峰值在线用户数 × 请求频率 × 思考时间占比。
  • 采用梯度加压(如 50 → 100 → 200 → 500),逐步找到拐点。

CSV 数据策略

规则说明
参数化用户名、业务 ID 等通过 CSV 参数化
数据量不少于并发用户数的 2 倍
共享模式按线程分配,避免数据争用
文件路径使用相对路径,便于跨机器执行

ServerAgent 部署

  1. 在被测服务器部署 ServerAgent。
  2. 默认端口 4444,确保防火墙放行。
  3. JMeter 中添加 PerfMon 监听器采集指标。
  4. 采集 CPU、内存、磁盘 IO、网络 IO。

JMeter XML 强制规则(11 条)

序号规则原因
1SteppingThreadGroup 标签必须小写且含空格大小写错误导致 JMeter 无法识别
2ConfigTestElementtestclass 必须正确错误导致配置静默失效(致命坑)
3HTTPSamplerProxymethod 必须大写小写导致请求方法错误
4hashtree 嵌套必须成对闭合缺失导致脚本无法加载
5变量引用统一用 ${var}${}$var 混用导致解析失败
6CSV 文件名禁止中文编码问题导致找不到文件
7ThreadGroupramp_up 必须为正整数0 导致瞬时加压压垮系统
8LoopControllerloops 必须明确默认值导致执行次数异常
9断言必须放在采样器内放错位置导致断言无效
10监听器结果文件用 CSV 而非 XMLXML 体积大、解析慢
11enabled 属性必须显式设置默认继承导致误启用 / 误禁用

示例

峰值场景脚本结构:

Stepping Thread Group (梯度加压)
  - CSV Data Set Config (用户数据)
  - HTTP Header Manager
  - HTTP Sampler - 登录
    - Response Assertion
  - HTTP Sampler - 查询列表
    - Duration Assertion
  - PerfMon Collector (ServerAgent 采集)
  - Summary Report

注意事项

  1. 压测前必须备份 / 隔离生产数据,禁止直接压生产。
  2. 压测数据需在测试结束后清理(AT_ 前缀标识)。
  3. 压测结果需出报告,包含 TPS、响应时间、资源曲线。
  4. 性能不达标需定位瓶颈(应用 / 数据库 / 网络),不可只报数字。
  5. JMeter 脚本版本管理,修改需记录变更原因。

You may not distribute, modify, or sell this software without permission.