/artillery

Artillery is a modern load and functional testing toolkit. Ship scalable and resilient backends & APIs.

Primary LanguageJavaScriptMozilla Public License 2.0MPL-2.0

Modern testing for DevOps and SRE

keep production fast & reliable, customers happy, and pagers silent

Docs | Discussions | @artilleryio

npm

Enjoying using Artillery? Give us a star for good karma 🌟 (We plant a tree for every Github star we get)

Join us, we're hiring.


Use Cases

  • Prepare for traffic surges - run load tests to help prepare your API or service for upcoming peak traffic
  • Run continuous smoke tests to catch issues before they reach production
  • Run Artillery in CI/CD to prevent performance regressions
  • Profile and debug performance issues such as memory leaks, high tail latency caused by GC pauses or high CPU usage, or misconfigured resource pools
  • Scale out and run your tests from your own AWS account with ease

Features

  • Test ANY stack: Load test HTTP, WebSocket, Socket.io, Kinesis, HLS, and more
  • Scenarios: Support for complex scenarios to test multi-step interactions in your API or web app (great for ecommerce, transactional APIs, game servers etc).
  • Load testing & smoke testing: reuse the same scenario definitions to run performance tests or functional tests on your API or backend.
  • Detailed performance metrics: get detailed performance metrics (response time, TTFB, transactions per second, concurrency, throughput). Track custom metrics with high precision (histograms, counters and rates)
  • Scriptable: write custom logic in JS, using any of the thousands of useful npm modules.
  • Batteries-included: out-of-the-box integrations with external monitoring systems such as Datadog, InfluxDB, Honeygcomb, and Lightstep, per-URL metrics, file uploads, SSL auth, fuzz testing, and more!
  • Extensible: write custom reporters, custom plugins, and custom engines, or customize VU scenarios and behavior
  • Cloud-native: built for the cloud from day one - run distributed load tests from your own AWS account with ease
  • and more! HTML reports, nice CLI, parameterization with CSV files, CICD integrations


Getting Started With Artillery

👉  Artillery Getting Started Guide

Using Artillery?

Add your team to the Artillery users list on the wiki.

Artillery Forest

We have planted close to 5000 trees with the help of Artillery community. That's a small forest! We're aiming to grow that to a large forest - we're thinking 100,000 trees would be neat.

Want to help us grow the forest?

  • Just star this repo! We plant a tree for every star we get on Github. 🌟 ➡️ 🌳
  • Plant some extra trees through Ecologi → https://ecologi.com/artilleryio (use your name or the name of your company for credit)

License

Artillery is open-source software distributed under the terms of the MPLv2 license.