Repolode
grafana

grafana/k6

开源负载测试工具,用 JavaScript 编写性能测试脚本,由 Go 编写的程序执行。

可替代:LoadRunnerBlazeMeter

Star
32,185
Fork
1,715
未关闭 Issue
764
最近提交
昨天

这是什么?

k6 是一款面向开发者和测试人员的负载测试工具。测试脚本使用 JavaScript 编写,执行引擎则基于 Go 实现,因此在普通配置的机器上也能模拟大量虚拟用户。

脚本可以调用 HTTP、WebSocket、gRPC 和浏览器场景的 API,并通过 thresholds 设置通过或失败的判定条件,例如要求 99% 的请求在指定时间内完成。负载曲线可以用 stages 配置,负载模型支持开放模型、封闭模型、固定请求速率和固定迭代次数等方式。

测试以代码形式保存,便于版本管理、模块化复用,并可在命令行、CI 流水线或 Kubernetes 集群中运行。测试结果可导出到多种指标存储后端,项目也支持通过扩展增加新协议和使用场景。

核心功能

  • 01使用 JavaScript 编写负载测试脚本。
  • 02支持 HTTP、WebSocket、gRPC 和浏览器测试。
  • 03通过 thresholds 将性能目标(如 SLO)固化为通过或失败的判定。
  • 04提供灵活的负载模型,包括固定请求速率和分阶段加压。
  • 05测试结果可导出到外部指标服务。
  • 06可通过扩展机制支持新协议和用例。

适用场景

  • 发布前对 Web API 做负载测试,找出吞吐量上限。
  • 在 CI 流水线中加入性能回归检查。
  • 在 Kubernetes 集群中运行分布式负载测试。
  • 在模拟流量下验证响应时间 SLO 是否达标。

快速上手

  1. 1

    从发布页面下载 k6

  2. 2

    按照入门文档安装并运行一次测试

使用前须知

  • 采用 AGPL-3.0 许可证,这是一种 copyleft 许可证,其条款可能影响商业使用。

收录于专题

标签

常见问题

k6 是什么?
开源负载测试工具,用 JavaScript 编写性能测试脚本,由 Go 编写的程序执行。 k6 是一款面向开发者和测试人员的负载测试工具。测试脚本使用 JavaScript 编写,执行引擎则基于 Go 实现,因此在普通配置的机器上也能模拟大量虚拟用户。
k6 可以免费使用吗?用的什么许可证?
k6 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
k6 还在维护吗?
活跃维护中。k6 最近一次提交是在 2026年11月6日。
k6 适合用来做什么?
发布前对 Web API 做负载测试,找出吞吐量上限。 在 CI 流水线中加入性能回归检查。 在 Kubernetes 集群中运行分布式负载测试。 在模拟流量下验证响应时间 SLO 是否达标。
k6 怎么安装和运行?
从发布页面下载 k6 按照入门文档安装并运行一次测试
在哪里获取 k6?
源代码和安装说明在 GitHub 上:https://github.com/grafana/k6

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目