k6
k6 是 Grafana Labs 推出的开源负载测试工具,主打用 JavaScript 编写测试脚本。它原生支持 HTTP、gRPC、WebSocket、GraphQL 等协议,可在本地、Docker 与 Kubernetes 中发起高并发压测。用户既可在命令行单机跑压测,也可借助 Grafana Cloud k6 调度跨 21 个全球区域的分布式流量。其脚本与阈值配置与 CI/CD 流水线高度衔接,能在构建阶段自动判定是否通过。k6 被 Amazon、Microsoft、GitLab 等团队用于发布前的回归与可靠性验证,是个人开发者与 SRE 都能上手的工具。
网站&在线应用
简介
k6 是面向开发者与 SRE 的开源负载测试工具,强调用熟悉的 JavaScript 编写测试脚本,覆盖 HTTP、gRPC、WebSocket、GraphQL 等主流协议。除了常见的压测场景,k6 还把浏览器端到端测试、合成监控、混淆注入与基础设施基准整合到同一框架内。
优缺点
- ✅ JavaScript 脚本:用 JavaScript 编写测试脚本,门槛低,与前端和 Node 生态一致。
- ✅ 本地与云端同构:同一份脚本可在 CLI、Docker、Kubernetes 与 Grafana Cloud k6 之间无缝迁移。
- ✅ 多协议覆盖:HTTP/REST、gRPC、GraphQL、WebSocket、Cookies 与阈值配置均开箱即用。
- ✅ CI/CD 联动:可通过阈值在构建流水线中自动判定通过或失败,与 Prometheus、Grafana、Datadog 等可观测链路联动。
- ❌ 浏览器录制缺失:没有原生的浏览器操作录制器,复杂端到端场景需借助 xk6-browser 或外部工具补齐。
使用方法
- 访问 k6 官方页面,下载对应平台的命令行二进制文件,或通过 Docker 镜像拉起。
- 用 JavaScript 编写一个 .js 测试脚本,引入 k6/http 与 check、sleep 等内置模块,定义 default 函数。
- 本地执行
k6 run script.js即可发起压测,实时查看 RPS、p95 延迟与错误率。 - 如需分布式或团队协作,将脚本上传到 Grafana Cloud k6 调度跨区域运行,或在 Kubernetes 中通过 ConfigMap 部署 k6 operator。
- 在 CI 流水线中调用 k6 命令,依据阈值配置决定构建是否通过。
收费价格
k6 命令行工具以开源形式完全免费,可无限制在本地、Docker 与 K8s 中运行。云端的 Grafana Cloud k6 属于 Grafana 商业产品,按虚拟用户小时、数据保留时长与团队席位计费,具体价格需在 Grafana 定价页面查询。
支持的平台
k6 命令行版提供 macOS、Windows、Linux 与 Docker 镜像,可在本地机器、CI 节点或 Kubernetes 集群中执行;云端的 Grafana Cloud k6 是网页服务,无需安装即可在浏览器中创建测试并调度跨区域运行。官方推荐 Linux 与 Docker 作为生产环境的执行载体。
截图
相关链接
功能标签
特色
JavaScript 脚本
k6 以 JavaScript 为脚本语言,不需编译即可运行,与前端、Node 及入门级脚本生态无隔衔接。
跨环境同构
同一份 .js 脚本可在命令行本地、Docker 容器、Kubernetes 与 Grafana Cloud k6 之间无缝迁移,避免多份脚本混用。
多协议覆盖
原生支持 HTTP/REST、gRPC、GraphQL、WebSocket、Cookies 与 Threshold 阈值配置,可以覆盖 API、后端与前端环以多种载体场景。
分布式跨区域
通过 Grafana Cloud k6 可调度 21 个全球负载区域,在压测中同时模拟多国用户访问,验证跨境体验一致性。
丰富扩展生态
官方提供 xk6-browser 以及 xk6-output-timescaledb 等扩展,可与 Kubernetes、Prometheus、Kafka、OpenTelemetry 等可观测与消息系统接入。
CI/CD 联动
可在构建阶段调用 k6 命令,依据阈值自动判定构建是否通过,与 GitHub Actions、Jenkins 、GitLab CI 等流水线打通。
替代方案
开发者工具
Apidog
Apidog 是一款集 API 设计、开…
Bruno
Bruno 是一个开源、本地优先的 AP…
Insomnia
Insomnia 是一款 AI 原生 A…
Carbon
Carbon 是一个在线的源代码美化截图…
JSON Crack
JSON Crack 是一款开源的在线 …
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END













