Skip to content

Instantly share code, notes, and snippets.

@lira
Forked from aliesbelik/benchmarking-tools.md
Created October 28, 2024 15:03
Show Gist options
  • Save lira/c76b1ee8962f8a4796cd423dbb25f2a6 to your computer and use it in GitHub Desktop.
Save lira/c76b1ee8962f8a4796cd423dbb25f2a6 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment