load testing

Oct 20, 2023

k6

ab (aka apachebench)

wrk

wrk is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue.

wrk2

wrk2 is wrk modifed to produce a constant throughput load, and accurate latency details to the high 9s (i.e. can produce accurate 99.9999%'ile when run long enough). In addition to wrk's arguments, wrk2 takes a throughput argument (in total requests per second) via either the --rate or -R parameters (default is 1000).

hey

hey is a tiny program that sends some load to a web application.

vegeta

Vegeta is a versatile HTTP load testing tool built out of a need to drill HTTP services with a constant request rate. It can be used both as a command line utility and a library.

(ed: a go library)

locust

Define user behaviour with Python code, and swarm your system with millions of simultaneous users.

we used this to good success on MCT


Summary of the options as of 2020, by an author of k6 - still a good reasonably fair article

↑ up