性能负载建模 Skill:生产流量怎样变成可复现的性能负载

没有业务模型的压测参数只是任意数字:并发、到达率和数据分布都可能与真实高峰相反。工作负载建模先还原使用模式,再谈压测工具。

性能工作负载建模 Skill 将流量证据和用户旅程转换为可测量的比例、节奏和数据变化,形成可信实验。

本文通过具体场景说明如何收集、连接和解释证据,让结论能够服务下一步的工程或业务决定。

性能负载建模 Skill 用来做什么

性能负载建模适合准备压测、容量评估或流量迁移的团队。它把生产用户行为写成可复现的比例、到达模式和数据生命周期,并明确模型没有覆盖的部分。

先回到源 Skill

这个 Skill 的完整执行规则在 性能负载建模 提示词。源目录还包含 3 个评测用例,用于验证输出是否遵守契约。

它要求特别注意:

  • 不要直接把在线用户数当并发数
  • 区分开放与封闭模型
  • 缺少生产数据时用可调整区间

用一份项目材料开始

先把当前拿得到的材料摆上来。缺口可以保留,状态必须说实话。

材料这次填什么缺失时的处理
目标与范围把生产交易量、峰值活动和用户行为转成可复现的结账性能负载模型标出不在本轮判断内的链路
版本与环境生产流量样本、峰值活动、用户行为比例和测试窗口样本过短时把模型标为近似值
证据访问日志、业务计数、会话时长、地域分布和历史峰值缺少业务转化率时不要直接外推请求量
决策边界采样规则、放大系数、异常流量和模型 Owner每项假设写出验证数据与失效条件

可以这样调用:

请使用 performance-workload-modeling Skill。

任务:把生产交易量、峰值活动和用户行为转成可复现的结账性能负载模型
输入材料:[版本、链接、日志或报告路径]
范围:[本次包含和排除的对象]
限制:[时间、数据、权限、合规要求]

先审计输入,再按风险和证据强度排序。材料没有证明的内容标为假设,并列出验证方法。

性能负载建模要把用户行为写成假设

产物要回答的问题最低证据
用户比例不同用户和业务动作各占多少生产日志、漏斗和业务规则
到达模式流量如何到达、持续和突发时间序列、活动日历和假设
数据生命周期数据创建、复用和清理怎样进行数据量、隔离策略和清理命令
模型边界哪些行为没有被本次负载覆盖排除项、原因和后续验证

没有生产行为或业务比例来源时,只能生成负载假设,不能声称它代表真实流量。

在项目里跑一轮

先用一个边界清楚的小回合启动——把生产交易量、峰值活动和用户行为转成可复现的结账性能负载模型。别急着把结果写成报告。先把输入版本、时间窗口和负责人贴到同一处;然后把每个判断连回具体材料;最后只安排一项能改变结论的验证动作。

区分到达率、并发、思考时间和数据分布,线上用户数不能直接当并发数。这一轮交付应当包含:可复查的证据索引、仍然成立的假设、以及下一位同事可以直接执行的动作。这样做很朴素,也很有效。

进阶使用:把一次分析变成持续机制

区分到达率、并发、思考时间和数据分布,线上用户数不能直接当并发数。

每次性能负载建模都保存生产窗口、用户比例、数据量和模型版本。流量结构或业务规则变化时,只更新受影响的场景,并保留旧模型用于对照。

三段式 Skill 链

performance-workload-modelingperformance-test-k6performance-result-analysis

交接传递内容接收方要检查什么
上游到 performance-workload-modeling来源版本、范围、风险、未决项输入是否过期,冲突是否标记
performance-workload-modeling 到下游判断、证据索引、残余风险、待办产物是否可执行,Owner 是否明确
下游回写 performance-workload-modeling执行结果、缺陷、事实变化是否更新基线与回归范围

交接时传摘要、证据索引和原始材料的位置。信息量足够,结论出了问题也能回到来源。

团队门禁

门禁检查内容未满足时
performance-workload-modeling 输入门禁版本、环境、证据来源和 Owner停止生成,列出缺口
performance-workload-modeling 产物门禁关键结论带依据、状态和影响退回补证据
performance-workload-modeling 执行门禁命令、查询或验证路径可复现标记基础设施或测试问题
performance-workload-modeling 决策门禁残余风险有接受人与日期不进入下一阶段

容易踩的坑

  1. 用平均请求率代替用户行为和业务比例。
  2. 把峰值瞬间当成持续负载,导致容量判断失真。
  3. 忽略数据创建、清理和账号隔离,脚本无法重复运行。
  4. 没有写出排除项,读者误以为模型覆盖完整生产流量。

相关 Skill

性能负载建模产出的假设要继续进入容量和结果判断:

交付前复核:把判断落到证据

Skill 输出拿到手后,先核对四件事:输入版本是否明确,范围是否完整,每条结论能否回到证据,下一步由谁执行。少一项,报告就容易变成漂亮的猜测。

项目需要留下缺失时
输入边界版本、环境、时间窗口和本次范围标记假设,不写成事实
证据索引日志、报告、Trace、截图或命令输出标记 evidence_pending
结论状态verifiedassumptionblockedpending停止扩大结论
后续动作最小验证命令、负责人和截止时间交付为待办,不进入门禁
source_version: [版本或提交]
scope: [本次包含和排除的对象]
evidence: [日志、报告、Trace 或命令输出]
status: pending
owner: [负责人]
next_action: [最小验证动作]

分析类 Skill 要保留查询条件和时间窗口;执行类 Skill 要保留命令、退出码和失败产物。人工修改也要记录,下一次复核才知道结论从哪里变化。

安装与调用

安装这个 Skill:

npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/zh/testing-types/performance-workload-modeling -g

安装后,直接使用下文的 performance-workload-modeling 调用词,并附上本次的真实材料。

常见问题

输入还不完整,能开始吗?

能。先交付受限初版:列出已知事实、假设、缺口和最小验证动作。环境、数据或权限缺失时,不写执行结论。

什么时候需要人工确认?

范围取舍、风险接受、生产操作、数据权限和发布决定必须由对应负责人确认。Skill 负责整理证据与选项,不替团队做授权决定。

先用一份真实材料跑通 性能负载建模,把输入、产物、人工修改和验证证据留在同一个工作链里。下一次变化发生时,才有东西可以复用。

参考

分享