Load Testing and Testing Tools
Listed in alphabetical order.
ab : slow and single threaded written in C
apib : most ApacheBench (ab) functions, also designed as a more modern replacement, are written in C
baloo : expressive end-to-end HTTP API testing made easy, written in Go (golang)
baton : HTTP load testing written in Go (golang)
bombardier : A fast cross-platform HTTP performance testing tool written in Go (golang)
curl-loader : loading performance of various application services and generating traffic written in C
Drill : An HTTP stress testing application inspired by Rust Ansible syntax
fasthttploader : benchmark (a kind of ab) with automatic configuration and graphs based on the fasthttp library, writing to Go (golang)
fortio : download the test library, command line tool, and web interface. Allows you to set a given request load per second and record delay histograms and other useful statistics, write in Go (golang)
gatling : high-performance framework for load testing based on Scala, Akka and Netty, write to Scala
go-wrk : an HTTP performance testing tool based on the spirit of the excellent wrk (wg / wrk) tool, write in Go (golang)
goad : AWS Lambda, a highly distributed tool for load testing, write in Go (golang)
gobench : a tool for stress testing and testing HTTP / HTTPS performance, write to Go (golang)
gohttpbench : ab-like performance testing tool running on a multi-core processor, write in Go (golang)
hey : HTTP (S) load generator, ApacheBench (ab) replacement, formerly known as rakyll / boom, written in Go (golang)
htstress : multi-threaded high-load beachmarking services (> 5K rps) written in C / Linux
httperf : complex configuration, slow and single-threaded, written in C
Inundator : A simple and high-performance HTTP stream program written in C / Linux
jmeter : Apache JMeter ™, a pure application designed to load test performance on both static and dynamic resources, written in Java
k6 : a modern stress testing tool written in ES6 JS with support for HTTP / 1.1, HTTP / 2.0 and WebSocket written in Go (golang)
locust : An easy-to-use real-time web-based distributed load testing tool. It simulates a swarm of simultaneous users, the behavior of each of them is determined by your Python code. Written in python
mgun : a modern tool for load testing HTTP servers written in Go (golang)
pounce : aligns, but results fluctuate, sometimes faster than httress written in C
Siege : Slow and single-threaded, written in C
slapper : a simple tool for load testing with a real-time updated histogram of query time written in Go (golang)
slow_cooker : a load tester focused on life cycle problems and lengthy tests, a service with predictable workload and concurrency for a long period of time, written in Go (golang)
sniper : a powerful and high-performance http load tester written in Go (golang)
tsung : simulate stress users to test scalability and performance of client-server applications based on the IP servers HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber / XMPP written in Erlang.
vegeta : HTTP stress testing tool and library written in Go (golang)
weighttp : multithreaded but slower than httress without keepalive written in C
wrk : multithreaded, written in C / Lua
wrk2 : constant bandwidth, correct version of wrk recording with delay written in C / Lua
yandex-tank : a tool for measuring load and performance, written in Python / C | C ++ | Asm (Phantom)
Descriptions are here .