# Artillery

> Artillery is an open source, self-hosted protocol and API load tool from Artillery Software, scripted in JavaScript, TypeScript.

- Canonical: https://perf.jmeter.ai/tools/artillery/
- Review: https://perf.jmeter.ai/reviews/artillery/
- Official: https://www.artillery.io/
- Source: https://github.com/artilleryio/artillery
- Vendor: Artillery Software
- Category: Protocol/API Load
- License: Open Source — Free open-source core; commercial cloud features available.
- Deployment: Self-hosted
- Status: Active
- Scripting: JavaScript, TypeScript
- Protocols: HTTP, HTTPS, WebSocket, Socket.IO, MQTT
- OS support: Windows, macOS, Linux
- First released: 2016

- Last verified: 2026-08-11

## What it is
Artillery uses YAML configuration and JavaScript or TypeScript extensions to model traffic. It supports local and distributed tests plus CI/CD-oriented reporting.

## Choose it when
- API and protocol throughput or latency campaigns
- Teams that prefer open-source licensing and self-hosting options
- Groups comfortable scripting in JavaScript, TypeScript

## Look elsewhere when
- Teams unwilling to operate generators, results storage, and scaling

## Architecture
Artillery is commonly operated as self-hosted software with scenario authoring in JavaScript, TypeScript. Concurrency and distribution depend on how you size workers or injectors.

## Pricing
Artillery offers a free Developer plan ($0/month), a Team plan ($199/month), and a Scale plan ($499/month). Enterprise add-ons are available starting at $1199/month. Annual subscription options offer a 20% savings. Subscriptions are also available via AWS Marketplace.

## Compare
- [Artillery vs k6](https://perf.jmeter.ai/vs/artillery-vs-grafana-k6/) — Prefer Artillery if your stack and plugins already revolve around Node.
- [Apache JMeter vs Artillery](https://perf.jmeter.ai/vs/apache-jmeter-vs-artillery/) — The practical split is the authoring language: Java, Groovy for Apache JMeter, JavaScript, TypeScript for Artillery.
- [Gatling vs Artillery](https://perf.jmeter.ai/vs/gatling-vs-artillery/) — The practical split is the authoring language: Java, Scala, Kotlin for Gatling, JavaScript, TypeScript for Artillery.
- [Artillery vs LoadRunner Professional](https://perf.jmeter.ai/vs/artillery-vs-loadrunner-professional/) — The practical split is the cost model: Artillery is open source, LoadRunner Professional is commercial.
- [Artillery vs NeoLoad](https://perf.jmeter.ai/vs/artillery-vs-neoload/) — The practical split is the cost model: Artillery is open source, NeoLoad is commercial.
- [Artillery vs BlazeMeter](https://perf.jmeter.ai/vs/artillery-vs-blazemeter/) — The practical split is the cost model: Artillery is open source, BlazeMeter is commercial.
- [Artillery vs Tsung](https://perf.jmeter.ai/vs/artillery-vs-tsung/) — The practical split is the authoring language: JavaScript, TypeScript for Artillery, Erlang, XML for Tsung.
- [Artillery vs The Grinder](https://perf.jmeter.ai/vs/artillery-vs-the-grinder/) — The practical split is the authoring language: JavaScript, TypeScript for Artillery, Jython, Java for The Grinder.
- [Artillery vs Azure Load Testing](https://perf.jmeter.ai/vs/artillery-vs-azure-load-testing/) — The practical split is the cost model: Artillery is open source, Azure Load Testing is commercial.
- [Artillery alternatives](https://perf.jmeter.ai/alternatives/artillery/)

## FAQ
### Who is Artillery for?
Artillery is best for engineers focused on API and protocol-level throughput and latency. It is open source, so teams can self-host and extend it. Vendor: Artillery Software. Deployment model: self-hosted. Free open-source core; commercial cloud features available. Confirm details against the official site and a short proof-of-concept in your environment.

### How does Artillery differ from Drill?
Compared with Drill, scripting centers on JavaScript, TypeScript rather than Rust, YAML. Artillery lists protocols HTTP, HTTPS, WebSocket, Socket.IO, MQTT; Drill lists HTTP, HTTPS. Status is active versus active. Use the Test Rig to compare full specs side by side before a proof-of-concept.

### What scripting language and concurrency model does Artillery use?
Artillery uses JavaScript, TypeScript for scripting or scenario definition. Runtime model: code-first scenarios where virtual users execute scripted behavior under load. OS support: Windows, macOS, Linux. Protocols: HTTP, HTTPS, WebSocket, Socket.IO, MQTT. Match these to how your team already authors tests and which systems you must drive under load.

### What is the cloud or enterprise path for Artillery?
Artillery is primarily self-hosted; teams typically run generators on their own machines, CI runners, or private cloud. Plan for generator capacity, network access to targets, and result storage yourself. As open source, commercial support or hosted siblings may exist separately. Check the official site. Pricing note: Free open-source core; commercial cloud features available.

### What are known limitations of Artillery?
Artillery limitations to weigh: self-hosted tools require you to provision, scale, and observe load generators yourself. Status: active. Always validate against your target protocols and scale with a proof-of-concept. Confirm details against the official site and a short proof-of-concept in your environment.

---
Curated by NaveenKumar Namachivayam (QAInsights) · methodology: https://perf.jmeter.ai/about/#methodology · corrections: https://github.com/QAInsights/Performance-Testing-Tools/issues/new?title=Tool%20submission%3A%20&body=Tool%20name%3A%20%0AOfficial%20URL%3A%20%0AWhat%20should%20be%20added%20or%20corrected%3F%20%0A