k6压测接口:阈值、阶段和结果判断

发表评论 1612 浏览量
目录:

k6压测接口:阈值、阶段和结果判断

2024年4月记录,分类「性能测试」。这里不追求大而全,主要记录一个测试点从发现到落地的过程。

脚本目标

k6 写压测脚本时,我最看重 thresholds 和 stages。没有阈值的压测只是跑了一遍,有阈值才知道能不能过。

对测试来说,最后要落到可复现、可验证、可交接,文章也是按这个思路写的。

阶段设计

  • 用 stages 模拟爬升、稳定、回落,不只打一档并发。
  • 给 http_req_duration、http_req_failed 设置明确阈值。
  • 把业务断言写进 check,避免错误响应混进成功统计。
export const options = {
  stages: [{ duration: '2m', target: 100 }, { duration: '5m', target: 100 }],
  thresholds: { http_req_failed: ['rate<0.005'], http_req_duration: ['p(95)<800'] }
};

阈值设置

  • 压测失败能指出是耗时还是错误率超阈值。
  • 不同阶段的资源曲线能解释。
  • 结果能给出容量建议。

落到团队协作里,重点是让新人能照着补用例,开发也能看懂为什么要改。

报告判断

k6 的好处是把性能预期写进脚本,压测结果不再只靠人工解读。真正有价值的不是这一次解决了什么,而是下次能不能更快定位同类问题。