用途
load-test-scenario-builder 是一个用于创建完整负载测试方案的技能,目标是帮助团队用真实的负载测试验证系统容量。它围绕负载测试场景的定义、k6 脚本编写、流量模型配置和成功标准设定展开,适用于性能测试规划阶段。
主要能力
- 场景定义:通过
LoadTestScenario接口描述场景名称、描述、虚拟用户数(virtualUsers)、持续时间(duration)、爬坡时间(rampUp)以及成功标准(successCriteria,含 p95Latency、errorRate、throughput)。 - 示例场景:提供了基线负载(Baseline Load,100 虚拟用户、10 分钟、爬坡 2 分钟)、峰值负载(Peak Load,1000 虚拟用户、30 分钟、爬坡 5 分钟,模拟黑五流量)和压力测试(Stress Test,5000 虚拟用户、20 分钟、爬坡 10 分钟)三种示例,各自带有延迟、错误率与吞吐量标准。
- k6 脚本模板:以结账流程(checkout-flow.js)为例,展示如何使用 k6 的
http、check、sleep和Rate指标,设置stages(爬坡、保持、下降)和thresholds(如http_req_durationp(95)<500、errors rate<0.01),并通过check和自定义errorRate统计错误。 - 流量模型:内置四种常见模式——稳态(steadyState)、渐进爬坡(gradualRamp)、尖峰测试(spikeTest)和耐久/浸泡测试(soakTest),并给出对应的 stages 配置。
- 成功阈值:示例阈值包含延迟分位(p50<200、p95<500、p99<1000)、错误率(http_req_failed rate<0.01)、吞吐量(http_reqs rate>1000)以及自定义指标(checkout_duration、checkout_success_rate)。
- 运行与结果分析:提供运行负载测试的 shell 脚本示例(使用
k6 run指定 vus 和 duration,并可用--out json或--out influxdb输出结果),以及LoadTestResult接口和结果分析函数示例,用于打印 p95 延迟、错误率、吞吐量并判断是否通过。
使用方式
该技能的输出清单包括:定义场景、创建 k6 脚本、配置流量模型、设置成功标准、集成 CI、分析结果。工具内容以代码和配置示例为主,使用时应结合实际接口地址、业务路径和性能目标进行替换。
适用场景
- 性能基准测试与容量验证
- 峰值流量预估(如促销、大促场景)
- 寻找系统崩溃点(压力测试)
- 长时间稳定性验证(耐久/浸泡测试)
- 将负载测试纳入 CI 流程
限制
资料中仅提供了接口定义、示例脚本、流量模型、阈值和运行分析代码,未提供具体的安装步骤、支持的平台范围、收费或价格信息。这些内容暂未提供,需以实际工具的官方文档为准。