Skip to content

压测与脚本执行

这页聚焦压测链路、本地脚本执行入口、云端分布式执行和结果收束。

先判断是不是这页的范围

  • 你要在本机直接执行一轮平台标准脚本或本地自由脚本:看这里
  • 你要启动云端分布式压测任务并轮询状态、结果或取消任务:看这里
  • 你要区分“本地脚本执行”和“云端托管压测”这两条链路:看这里
  • 你只是想确认协议字段、提取和断言结构:优先回到 接口实战

怎么读这页

  • 先看“边界”,判断当前场景该走本地脚本执行还是云端托管
  • 再看“本地执行”或“云端压测”小节,只读自己需要的那一条
  • 最后看“结果与产物”,确认回传结果、报告文件和后续动作

一句话理解:

  • 本地执行适合快速验证、单机回放、近端调试和自由脚本运行
  • 云端压测适合多 worker 扩容、异步任务管理和共享执行环境

边界

  • 本地执行:由当前端侧直接执行脚本,分成两类
  • 平台标准脚本:由服务端或工具链下发,适合接口探测、快速断言、协议化响应采集和小规模压力执行
  • 本地自由脚本:由用户提供本地现成脚本文件,按透传方式执行,适合完全自定义的 JS/k6 逻辑
  • 云端压测:由服务端托管并调度分布式 worker 执行,适合规模化并发、异步状态追踪和统一结果管理
  • 本地与云端是两条不同链路,不要把“云端任务已启动”当成本地待执行动作
  • 如果任务只是“在当前机器立即跑起来”,归到本地执行
  • 如果任务需要“启动异步任务、稍后查状态、拉结果或取消”,归到云端压测

本地执行

本地执行分成两条入口:

  • 平台标准脚本:直接提供脚本文本,由本地执行器跑服务端下发的标准模板
  • 本地自由脚本:提供本地已有脚本文件,由执行器按透传方式运行

适合的场景:

  • 对单个接口做快速探测或小规模压力验证
  • 在本机复现响应时间、失败率或阈值问题
  • 调试脚本内容、请求参数和通过条件
  • 使用平台标准脚本时,按规则采集响应摘要或响应结果文件
  • 生成本地汇总文件并沉淀到报告目录

不适合的场景:

  • 需要多台 worker 横向扩容
  • 需要任务级状态管理、轮询和取消
  • 需要把执行环境统一收敛到服务端

最小意图示例:

对 http://127.0.0.1:8000/mock/load 做一轮本地执行,
5 个虚拟用户,持续 30 秒,
要求响应状态码为 200。

如果是平台标准脚本场景,也可以强调要采集响应:

执行一轮服务端下发的标准脚本,
开启响应采集,
并把摘要和结果文件一起带回。

如果是已有脚本文件,也可以直接描述:

执行本地已有的脚本文件,
并覆盖并发和持续时间。

云端压测

云端压测适合异步任务模型,常见动作只有四类:

  • 启动任务
  • 查询状态
  • 查询结果
  • 取消任务

适合的场景:

  • 需要分布式 worker 执行
  • 需要跨环境、跨项目统一管理压测任务
  • 需要先启动,再在后续回合查询状态和结果

常见输入来源:

  • 启动一个已有的云端压测任务
  • 提交一份脚本文本后由服务端创建新任务
  • 提交一份结构化压测规格后由服务端先编译,再创建新任务

最小意图示例:

启动一轮云端分布式压测,
目标是 keepalive 接口,
2 个虚拟用户,持续 3 秒,
要求响应状态码为 200。

如果任务已经启动,后续动作应该改成:

查询刚才那轮云端压测的状态。

或:

拉取那轮云端压测的归一化结果。

不要把“任务已启动”再次描述成待执行的本地动作。

通过条件与阈值

压测里最常见的通过条件分成两类:

  • 功能通过条件:例如响应状态码、响应体关键字段、事件是否出现
  • 性能阈值:例如失败率、P95、P99、吞吐或超时上限

建议写法:

  • 先写功能通过条件,再写性能阈值
  • 优先写最终是否通过的业务条件,不要只写底层技术细节
  • 如果目标只是快速连通性验证,功能通过条件通常已经足够
  • 如果目标是回归或放量验证,必须补上性能阈值

示意:

要求响应状态码为 200,
失败率低于 1%,
P95 小于 200ms。

结果与产物

本地执行通常会返回:

  • 本次执行是否成功
  • 退出码
  • 控制台摘要
  • 可选的汇总 JSON 文件
  • 若使用平台标准脚本,还可能带回响应摘要或响应结果文件

云端压测通常会返回:

  • 任务标识
  • 当前状态
  • 下一步建议动作
  • 最终归一化结果或取消结果

如果你需要长期回看或自动归档,优先保留汇总文件或任务结果,而不是只看终端文本。

什么时候选哪条链路

  • 需要立刻验证、立刻看结果:选本地执行
  • 需要大规模并发、异步调度、统一管理:选云端压测
  • 需要先写脚本再快速跑:选本地执行
  • 需要跨 worker 扩容和任务生命周期管理:选云端压测

相关文档