用途:k6 是面向开发者的开源负载测试工具,适合测试 API、微服务与网站。测试用 JavaScript/TypeScript 编写,由 Go 多线程引擎执行,通过 CLI 运行。
主要能力:支持虚拟用户(VUs)、分阶段负载(stages)、阈值(thresholds,如 http_req_duration: ['p(95)<300'])、自定义指标(Trend、Counter 等)、标签与多场景(scenarios),可模拟尖峰、压力与长时间浸泡测试;可通过 Grafana Cloud k6 进行跨区域分布式负载生成。
使用方式:编写脚本后运行 k6 run script.js。脚本中通过 import http from "k6/http" 发起请求,用 check 校验响应,用 sleep 模拟思考时间;在 options 中定义 vus、duration、stages 与 thresholds。指标可导出到 Prometheus/InfluxDB(如 k6 run --out statsd)。
适用场景:CI/CD 性能回归门禁、API 基准测试、尖峰/压力/浸泡测试、云端分布式压测。
限制与注意:k6 不在标准 Node.js 中运行,不能直接导入重型 NPM 包,需使用兼容的 polyfill;避免在虚拟用户循环中 console.log,以免拖慢执行;应设置 sleep 思考时间,避免不真实压测;建议显式定义 thresholds 让流水线自动失败,并用 SharedArray 参数化测试数据。常见问题包括 DNS 解析失败、阈值未达标、请求超时等,需检查目标连通性、服务端性能与超时设置。具体收费、价格与平台细节暂未提供。