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 无法识别
2ConfigTestElement 的 testclass 必须正确错误导致配置静默失效(致命坑)
3HTTPSamplerProxy 的 method 必须大写小写导致请求方法错误
4hashtree 嵌套必须成对闭合缺失导致脚本无法加载
5变量引用统一用 ${var}${} 与 $var 混用导致解析失败
6CSV 文件名禁止中文编码问题导致找不到文件
7ThreadGroup 的 ramp_up 必须为正整数0 导致瞬时加压压垮系统
8LoopController 的 loops 必须明确默认值导致执行次数异常
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.