Repolode
artilleryio

artilleryio/artillery

开源负载测试平台,支持 HTTP、WebSocket、gRPC 及 Playwright 浏览器场景,可在 AWS Lambda 或 Fargate 上分布式运行。

可替代:LoadRunnerBlazeMeter

Star
9,117
Fork
576
未关闭 Issue
491
最近提交
18天前

这是什么?

Artillery 是一个面向开发者和测试团队的负载测试工具,用于观察 API 和 Web 服务在高流量下的表现。测试以场景(scenario)的形式定义,可以通过请求链、多步骤和事务来模拟真实的用户行为,而不只是反复请求单个接口。

除了普通 HTTP,它还支持 WebSocket、Socket.io、gRPC 和 Kinesis,并可通过 Playwright 驱动无头浏览器,对前端流程进行负载测试。项目集成了常见的监控、可观测性和 CI/CD 工具,同时提供插件 API,允许用 Node.js 模块扩展功能。

在大规模测试时,压力可以分布到 AWS Lambda 或 AWS Fargate 上运行,无需自行搭建压测节点。代码主体采用 MPL 2.0 许可,部分 Azure 相关模块采用 BSL 许可,生产环境使用需要商业授权。

核心功能

  • 01支持对 HTTP API、WebSocket、Socket.io 和 gRPC 进行负载测试。
  • 02可通过 Playwright 运行基于真实无头浏览器的压测。
  • 03支持在 AWS Lambda 或 AWS Fargate 上分布式执行测试。
  • 04通过请求链和事务模拟多步骤的用户操作流程。
  • 05集成 20 多种监控、可观测性和 CI/CD 工具。
  • 06提供插件 API,并可使用 Node.js 模块进行扩展。

适用场景

  • 发布前检查 REST 或 GraphQL API 在高峰流量下的稳定性。
  • 使用真实无头浏览器对 Web 前端的关键用户流程进行压测。
  • 在 CI/CD 流水线中执行性能回归测试。
  • 无需管理服务器,借助 Serverless 基础设施产生大规模负载。

使用前须知

  • 部分 Azure 专用模块采用 BSL 许可证,在 Azure 上进行商业或生产使用需要商业许可证。
  • 大部分代码采用 MPL 2.0 许可证,因此整个仓库同时涉及两种许可条款。

收录于专题

标签

常见问题

artillery 是什么?
开源负载测试平台,支持 HTTP、WebSocket、gRPC 及 Playwright 浏览器场景,可在 AWS Lambda 或 Fargate 上分布式运行。 Artillery 是一个面向开发者和测试团队的负载测试工具,用于观察 API 和 Web 服务在高流量下的表现。测试以场景(scenario)的形式定义,可以通过请求链、多步骤和事务来模拟真实的用户行为,而不只是反复请求单个接口。
artillery 可以免费使用吗?用的什么许可证?
artillery 以 MPL-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
artillery 还在维护吗?
活跃维护中。artillery 最近一次提交是在 2026年10月20日。
artillery 适合用来做什么?
发布前检查 REST 或 GraphQL API 在高峰流量下的稳定性。 使用真实无头浏览器对 Web 前端的关键用户流程进行压测。 在 CI/CD 流水线中执行性能回归测试。 无需管理服务器,借助 Serverless 基础设施产生大规模负载。
在哪里获取 artillery?
源代码和安装说明在 GitHub 上:https://github.com/artilleryio/artillery

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

相关项目