Tools to use
k6
k6
k6 is written in Go and shipped as a single executable. It will use all the cores of your source system. It uses a subset of JavaScript to run complex scenarios, and it includes test profiles. You can create complex test scenarios in JavaScript that are run efficiently. The output can be a summary or it can be detailed output for a number of target stores. Extensions are supported, but there are few well maintained extensions, aside from the official k6 extension.
Most load tests can be run from a single server, if the server is large enough, which will avoid a more complex distributed load test.
Load-test results can be forwarded to Amazon Managed Service for Prometheus, Amazon CloudWatch, or another monitoring service for a more detailed analysis. It’s also possible to include success criteria in the scenarios code to run it in continuous integration (CI) pipelines.
Vegeta
The Vegeta
This is a great way to explore back pressure scenarios or long-term behavior of backend processes, where you want to negate the influence of response times and the test. The tool is not capable of complex behavior, but you can run any sequence of requests that don’t require passing information between them.
Vegeta can also be used as a library for Go applications. In this way, you can implement your own load test, with a powerful backend. Although it might make more sense to use another tool than to implement your own test.
Hey and ab
Hey
Apache JMeter
Apache JMeter
Distributed Load Testing on AWS
Distributed Load Testing on AWS solution