HTTP(S) Benchmark Tools / Toolkit for testing/debugging HTTP(S) and restAPI (RESTful) This article provides a curated, alphabetically ordered list of HTTP(S) benchmarking and testing tools, noting that the full repository has been moved to GitHub. It catalogs over 30 tools, including `ab`, `hey`, `vegeta`, and `k6`, specifying each tool's primary language (such as Go, C, Rust, or Python) and key features like load generation, API testing, or DoS simulation. Moved to git-repository: https://github.com/denji/awesome-http-benchmark Located in alphabetical order not prefer - ab – slow and single threaded, written in C - apib – most of the features of ApacheBench ab , also designed as a more modern replacement, written inC - autocannon – fast HTTP/1.1 benchmarking tool written in Node.js - baloo – Expressive end-to-end HTTP API testing made easy, written in Go golang - baton – HTTP load testing, written in Go golang - bombardier – Fast crossplatform HTTP benchmarking tool, written in Go golang - cassowary – is a modern HTTP S , intuitive & cross-platform load testing tool, written in Go golang - curl-loader – performance loading of various application services and traffic generation, written in C - drill – Drill is a HTTP load testing application inspired by Ansible syntax, written in Rust - fasthttploader – benchmark kinda ab with autoadjustment and charts based on fasthttp library, written in Go golang - fbender – A load-testing command line tool for generic network protocols HTTP ,DNS ,DHCP , … , written in Go golang - fortio – load testing library and command line tool and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats, written in Go golang - gatling – High performance load testing framework based on Scala, Akka and Netty, written in Scala - go-wrk – a HTTP benchmarking tool based in spirit on the excellent wrk tool wg/wrk , written in Go golang - goad – Goad is an AWS Lambda powered, highly distributed, load testing tool, written in Go golang - gobench – HTTP/HTTPS load testing and benchmarking tool, written in Go golang - gohttpbench – ab -like benchmark tool run on multi-core cpu, written in Go golang - goloris – Slowloris for NGINX DoS attack, written in Go golang - h2load - benchmarking tool for HTTP/2 and HTTP/1.1. It supports SSL/TLS and clear text for all supported protocols, written in C /C++ - hey – HTTP S load generator, ApacheBench ab replacement, formerly known as rakyll/boom, written in Go golang - htstress – multithreading high-load bechmarking services 5K rps , written in C /Linux - httperf – difficult configuration, slow and single threaded, written in C - httping - Ping with HTTP requests, see http://www.vanheusden.com/httping/, written in C - inundator – A simple and high-throughput HTTP flood program, written in C /Linux - jmeter – Apache JMeter™, pure application designed to load test performance both on static and dynamic resources, written in Java - k6 - A modern load testing tool scriptable in ES6 JS with support for HTTP/1.1, HTTP/2.0 and WebSocket, written in Go golang - locust – easy-to-use, distributed load testing tool with real-time web UI. Simulates a swarm of concurrent users, the behavior of each of them is defined by your python code. Written in Python - lor-axe – A multi-threaded, low-bandwidth HTTP Slowloris DoS tool that handles connections and sockets in parallel, written in Rust - mgun – A modern tool for load testing HTTP servers, written in Go golang - pounce – evented, but results fluctuate, it's sometimes faster than htstress , written inC - siege – slow and single threaded, written in C - slapper – Simple load testing tool with real-time updated histogram of request timings, written in Go golang - slow cooker – A load tester focused on lifecycle issues and long-running tests, service with a predictable load and concurrency level for a long period of time, written in Go golang - slowhttptest – Application Layer DoS attack simulator, written in C++ - sniper – powerful & high-performance http load tester, written in Go golang - thrash – HTTP Micro Benchmarker, written in Go golang - tsung – Simulate stress users in order to test the scalability and performance of IP based client/server applications HTTP ,WebDAV ,SOAP ,PostgreSQL ,MySQL ,LDAP andJabber /XMPP servers, written inErlang - vegeta – HTTP load testing tool and library, written in Go golang - weighttp – multithreaded, but slower than htstress without keepalive, written in C - welle – ab Apache Benchmark like tool, written in Rust - wrk – multithreaded, but doesn't offer concurrent connections and a keepalive switch, written inC /Lua - wrk2 – constant throughput, correct latency recording variant of wrk, written in C /Lua Concurrent connections are enabled with: -c, --connections