Skip to content

Instantly share code, notes, and snippets.

@aliesbelik
Last active April 2, 2025 00:58
Show Gist options
  • Save aliesbelik/840eff7c5bc78a141eab8e36f2f4edf2 to your computer and use it in GitHub Desktop.
Save aliesbelik/840eff7c5bc78a141eab8e36f2f4edf2 to your computer and use it in GitHub Desktop.
Benchmarking & load testing tools

Moved to git repository: https://github.com/aliesbelik/load-testing-toolkit

Benchmarking & load testing

Tools to benchmark & load-test your code or services

http/s

  • 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.
  • kboom - The Kubernetes scale & soak load tester, equivalent of boom, written in Go.
  • break - Like boom, but based on molotov. Python
  • molotov - Simple Python 3.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
  • wrk2 - A constant throughput, correct latency recording variant of wrk. 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
  • gobench - HTTP/S load testing and benchmarking tool. 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 Go and JavaScript.
  • bender - An easy-to-use library for creating load testing applications (Pinterest). Go
  • bombardier - Fast cross-platform HTTP benchmarking tool written in Go.
  • cassowary - Modern cross-platform HTTP load-testing tool written in Go.
  • vex - A small PHP app that sends some load to a web application.
  • carrot - Distributed WebSocket and HTTP load-testing framework in Go.
  • hargo - Go library and cli utility that parses HAR files, can convert to curl format, and serve as a load test driver.
  • goku - HTTP load testing application written in Rust.
  • scouter - Node.js bindings for the vegeta load-testing library.
  • hurl - HTTP server load test and parallel curl utilities. C++
  • chaperon - HTTP service performance & load testing framework. Elixir
  • bfg - A modular tool and framework for load generation with HTTP/2 support. Python
  • autocannon - Fast HTTP/1.1 benchmarking tool written in Node.js, greatly inspired by wrk and wrk2, with support for HTTP pipelining and HTTPS.
  • fortio - Load testing library, command line tool, advanced echo server and web UI in Go.

non-http/s

  • 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
  • memtier_benchmark - NoSQL Redis and Memcache traffic generation and benchmarking tool. C++
  • sangrenel - Apache Kafka load testing. Go
  • rabbitmq-perf-test - RabbitMQ performance testing tool. Java
  • mqperf - A benchmark of message queues with data replication and at-least-once delivery guarantees. Scala

Stress testing

Tools to stress-test your code or services

http/s

  • hulken - Stress testing tool for everything speaking HTTP. JavaScript
  • pewpew - Flexible HTTP command-line stress tester for websites and web services. Go
  • wreckuests - Yet another one hard-hitting tool to run DDoS atacks with HTTP-flood. Python

non-http/s

  • mqtt-stresser - Load testing tool to stress MQTT message broker. Go
  • dhammer - DHCP stress tester and benchmark tool. Go
  • dnstress - A DNS stress testing tool. C
@arthurpro
Copy link

arthurpro commented Mar 28, 2025

You should update hey to this new repo:

  • hey - HTTP load generator, ab alternative. Go

@aliesbelik
Copy link
Author

aliesbelik commented Mar 28, 2025

You should update hey to this new repo:

* [hey](https://github.com/mobydeck/hey) - HTTP load generator, ab alternative. `Go`

Thank you for correction, but the actual version of this list moved to the separate repo long time ago, as mentioned above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment