Skip to main content

2 posts tagged with "announcement"

View All Tags

· 3 min read
Hassy Veldstra

Running load tests at scale can get expensive very quickly, unless you use Artillery. If you're not familiar with Artillery - we do cloud-native load testing. Your tests run in your own AWS account, from AWS Lambda or AWS Fargate, and the transition from running a test from a local machine to scaling it out and running it from hundreds of workers in the cloud is seamless.

New in Artillery - cost reporting for AWS Lambda

We added built-in cost reporting for AWS Lambda in the latest release of Artillery. The way it works is straightforward: you run a load test on AWS Lambda, and Artillery tells you how much that cost in AWS Lambda fees. It works across all regions and takes Lambda size into account. There's nothing for you to configure.

Load testing at scale does not have to be be ridiculously expensive

Running directly on AWS also means an orders-of-magnitude cost advantage over using hosted load testing solutions, which unlocks entire new use-cases for load testing. As a developer, you no longer worry about cost and can focus on running load tests to improve and optimize your systems.

Running tests on AWS Lambda is completely open-source and free (see the initial launch announcement here), and we just shipped a few more updates, including cost reporting.

Demo: Serverless Load testing

See what running a serverless load test with Artillery looks like in this short demo. We'll run a sustained load of ~100k RPS for a few minutes, and Artillery will tell us how much it cost (spoiler: not very much).

We'll be running the test script we shared in the initial launch announcement.


You can try running the test yourself with:

# Install Artillery:

npm install -g artillery

# Grab an example test script from GitHub:

curl -o blitz.yml \
https://gist.githubusercontent.com/hassy/c723c93e2319449dd76f1602d81603da/raw/c6e71bc6e0041c095ef781e7c096192450c85410/blitz.yml

# Make sure you have an AWS profile set up:

aws sts get-caller-identity

# Run the test script locally:

artillery run blitz.yml

# And now run it from your own AWS account:

artillery run \
--platform aws:lambda \
--platform-opt region=us-east-1 \
--count 30 \
blitz.yml

Start load testing with Artillery and AWS Lambda

All of this available in the most recent release of Artillery. Install Artillery with npm install artillery@latest and start load testing at scale. All you need is an AWS account, Artillery will do the rest.

Learn more in our guide on load testing with AWS Lambda, and check the project out on GitHub: https://github.com/artilleryio/artillery

· 7 min read
Hassy Veldstra

Say hello to open-source serverless highly-distributed load testing at scale.

Artillery serverless load testing in action

What we have here is a load test that starts at 25k requests per second and ramps up to >200k requests per second over about 3 minutes. That's not the interesting part though. What's more interesting than the raw numbers is that:

  • The test is highly distributed and scalable - we can scale out horizontally to 400k RPS, 1m RPS or more with little effort
  • It runs with Artillery so you have access to all of the powerful features of Artillery like scenarios with multiple steps and request chains, multiple protocols, plugins and extensions and so on
  • All of the metrics are aggregated automatically and in a statistically-sound way
  • It's running on AWS Lambda and is fully serverless and AWS-native. There is no infra to manage
  • Running this for 10 minutes costs about $4

Pretty neat, isn't it?

Oh and the best thing - it's completely open source, and built right into the Artillery CLI.