Open-source load testing tool where performance tests are written as JavaScript and run from a Go binary.
artilleryio/artillery
Open-source load testing platform for HTTP APIs, WebSocket, Socket.io, gRPC and Playwright browser scenarios, scalable on AWS Lambda or Fargate.
Open-source alternative to:LoadRunner
BlazeMeter
- Stars
- 9,117
- Forks
- 576
- Open issues
- 491
- Last commit
- 18 days ago
What is it?
Artillery is a load testing tool for developers and QA teams who need to see how APIs and web services behave under heavy traffic. Tests are defined as scenarios that model user behavior with request chains, multiple steps and transactions, so a test can reflect a realistic user journey rather than a single endpoint being hit repeatedly.
Beyond plain HTTP, it covers WebSocket, Socket.io, gRPC and Kinesis, and it can drive real headless browsers through Playwright to load test front-end flows. It includes integrations for monitoring, observability and CI/CD pipelines, and a plugin API for extending behavior with Node.js modules.
For large tests, load can be distributed across AWS Lambda or AWS Fargate, so the project runs without managing your own load-generation infrastructure. Parts of the code are under MPL 2.0, while certain Azure-specific modules use a BSL license that requires a commercial license for production use.
Key features
- 01Load test HTTP APIs, WebSocket, Socket.io, and gRPC.
- 02Run browser-based load tests with Playwright.
- 03Distribute tests across AWS Lambda or AWS Fargate.
- 04Model multi-step user flows with request chains and transactions.
- 05Integrates with 20+ monitoring, observability, and CI/CD tools.
- 06Extend behavior through a plugin API and Node.js modules.
Use cases
- Checking whether a REST or GraphQL API holds up under peak traffic before a release.
- Load testing a web front end's critical user flows with real headless browsers.
- Running performance regression tests in a CI/CD pipeline.
- Generating large-scale load from serverless infrastructure without managing servers.
Things to know
- Some Azure-specific modules are under the BSL license, so commercial or production use on Azure requires a commercial license.
- Most of the code is MPL 2.0, so the license is a mix of two terms across the repository.
In collections
Topics
FAQ
- What is artillery?
- Open-source load testing platform for HTTP APIs, WebSocket, Socket.io, gRPC and Playwright browser scenarios, scalable on AWS Lambda or Fargate. Artillery is a load testing tool for developers and QA teams who need to see how APIs and web services behave under heavy traffic. Tests are defined as scenarios that model user behavior with request chains, multiple steps and transactions, so a test can reflect a realistic user journey rather than a single endpoint being hit repeatedly.
- Is artillery free to use? What license does it have?
- artillery is open source under the MPL-2.0 license. Check the license terms before using it in commercial products.
- Is artillery still maintained?
- Actively maintained. The last commit to artillery was on Oct 20, 2026.
- What can I use artillery for?
- Checking whether a REST or GraphQL API holds up under peak traffic before a release. Load testing a web front end's critical user flows with real headless browsers. Running performance regression tests in a CI/CD pipeline. Generating large-scale load from serverless infrastructure without managing servers.
- Where can I get artillery?
- The source code and installation instructions are on GitHub: https://github.com/artilleryio/artillery
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source API development ecosystem for sending REST, GraphQL, WebSocket, SSE, Socket.IO and MQTT requests, offered as web, desktop and CLI apps.
A native, local-first API client for REST, gRPC, GraphQL and WebSocket, written in Go, with a built-in traffic proxy.
Open-source Java application for load testing and measuring the performance of web applications and other services.
Open-source load testing tool where you write performance test scenarios as code in Java, Kotlin, Scala, JavaScript or TypeScript.
Self-hosted headless browser service in Docker that Puppeteer and Playwright scripts can connect to over WebSocket.