Tools to benchmark & load-test your code or services
- apachebench (ab) - Standalone apachebench (ab), Apache HTTP server benchmarking tool.
C - httperf - A tool for measuring web server performance.
C - hey - HTTP load generator, ab replacement.
Go - boom - A replacement for ab, written in
Python. - break - Like boom, but based on molotov.
Python - molotov - Simple
Python3.5+ tool to write load tests. - phantomas - PhantomJS-based web performance metrics collector and monitoring tool.
JavaScript - ponos - Simple yet powerful load generator written in
Erlang. - siege - A HTTP load tester and benchmarking utility.
C - vegeta - HTTP load testing tool and library.
Go - sniper - Powerful and high-performance HTTP load tester, written in
Go. - wrk - Modern HTTP benchmarking tool.
C - go-wrk - A small heavy duty HTTP(S) benchmark tool, similar to wrk, but written in
Go. - drill - A HTTP load testing application, written in
Rust, inspired by Ansible syntax. - iago2 - A load generator, built for engineers (Twitter).
Scala - gohttpbench - An ab-like benchmark tool run on multi-core cpu.
Go - pronk - A small command line application for load testing web servers.
Haskell - slow_cooker - A load tester focused on lifecycle issues and long-running tests.
Go - k6 - A modern load testing tool, using
GoandJavaScript. - bender - An easy-to-use library for creating load testing applications (Pinterest).
Go
- rpc-perf - A tool for benchmarking RPC services (Twitter).
Rust - tcpkali - Fast multi-core TCP and WebSockets load generator.
C - massive-attack - Load testing Thrift, made simple.
Scala
Tools to stress-test your code or services
- hulken - Stress testing tool for everything speaking HTTP.
JavaScript
- mqtt-stresser - Load testing tool to stress MQTT message broker.
Go