mcpField
A
api-load-tester

api-load-tester

github.com/onewave-ai测试与质量393244 次安装1 周前更新
代码仓库

关于 api-load-tester

api-load-tester 用于逐步对 HTTP 端点施加负载,并报告性能上限与瓶颈。它指导工具选择、测试执行、指标分析和报告生成,并设有生产环境与速率限制保护措施。

主要功能

  1. 01逐步增加并发进行测试
  2. 02选择 hey、wrk、ab 或 curl
  3. 03分析延迟、吞吐量与错误
  4. 04评估临界点和瓶颈
  5. 05生成含图表的 Markdown 报告

适用场景

  1. 01检查端点在负载增加时的表现
  2. 02定位延迟阈值与故障起点
  3. 03比较不同并发阶段的吞吐量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/onewave-ai/claude-skills --skill api-load-tester

安装后在 Claude Code 中输入/api-load-tester确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
metrics-interpretation.md
output-template.md
rules-and-examples.md
tool-commands.md

详细介绍

API 负载测试

在逐步增加的负载下对 HTTP 端点进行压力测试,找出性能瓶颈,并生成包含可执行建议的报告。

目录

  • references/tool-commands.md -- 工具调用(hey/wrk/ab/curl)、默认并发阶段,以及每个阶段要采集的数据。
  • references/metrics-interpretation.md -- 延迟、吞吐量、错误、性能瓶颈点和瓶颈分类。
  • references/output-template.md -- api-load-report.md 的确切结构,包括 ASCII 图表和扩展表。
  • references/rules-and-examples.md -- 安全规则、错误处理和调用示例。

输入

向用户收集以下信息。如果缺少必填项,请先询问再继续。

必填:端点 URL(以及所需的方法、标头和请求正文);预期延迟阈值。若未指定,默认阈值为:p50 < 100ms、p95 < 300ms、p99 < 1000ms。

可选:并发用户数或范围(默认从 1 逐步增加到 100);身份验证;请求负载;自定义标头;测试时长(默认每阶段 10s);递增模式(默认逐级递增,每阶段翻倍);成功标准(默认 2xx);已知速率限制;环境标签(prod/staging/dev)。

工作流

按顺序执行以下步骤。

  1. 选择工具。 按优先级依次检查:which hey、which wrk、which ab、which curl。如果 hey/wrk/ab 均不存在,则安装 hey(macOS 上运行 brew install hey,Linux 上安装 Go 后运行 go install github.com/rakyll/hey@latest),或改用 curl 配合 bash 后台进程和 wait。使用提供的端点发送一个简单请求进行验证;继续前先排查连接或身份验证问题。

  2. 验证端点。 使用指定的方法、标头、身份验证和请求正文,向每个端点发送一个请求。确认状态码符合成功标准,并记录单次请求基准延迟。如果失败,说明错误并询问用户是跳过还是修复。

  3. 设计测试计划。 构建逐步递增的并发阶段(默认递增顺序见 references/tool-commands.md),并根据用户的并发范围调整阶段。定义每个端点的方法、URL、标头、请求正文、成功状态码和超时时间(默认 30s)。执行前打印计划供用户审核。

  4. 执行各阶段。 对每个端点,使用所选工具依次运行每个并发阶段,每个阶段之间等待 2 秒。采集并保存每阶段的指标。命令、请求数计算公式和指标列表见 references/tool-commands.md。

  5. 解读指标。 计算延迟百分位数和分布、吞吐量曲线和上限、错误率及其出现时的负载、性能瓶颈点,以及瓶颈分类。参见 references/metrics-interpretation.md。

  6. 生成报告。 按照 references/output-template.md 的确切格式,在当前工作目录中写入 api-load-report.md,包括 ASCII 吞吐量和延迟图表。

  7. 报告后的操作。 在控制台打印 3-5 行摘要,说明报告路径,明确指出任何严重问题,并询问用户是否希望使用不同参数重新运行特定阶段。

规则

应用 references/rules-and-examples.md 中的安全规则、错误处理方式和调用示例。关键限制:未经明确确认,绝不对生产环境进行负载测试;默认仅测试 GET;对身份验证令牌进行脱敏;遵守 429 速率限制;将超时计为失败;绝不推断测试范围之外的表现。

评论

支持 Markdown