Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/5ht/hyperbench

Wrk HTTP Benchmark
https://github.com/5ht/hyperbench

Last synced: 2 days ago
JSON representation

Wrk HTTP Benchmark

Awesome Lists containing this project

README

        

wrk - a HTTP benchmarking tool

wrk is a modern HTTP benchmarking tool capable of generating significant
load when run on a single multi-core CPU. It combines a multithreaded
design with scalable event notification systems such as epoll and kqueue.

Basic Usage

wrk -k -t8 -c400 -r10m http://localhost:8080/index.html

This runs wrk with 8 threads, keeping 400 connections open, and making a
total of 10 million HTTP GET requests to http://localhost:8080/index.html

Output:

Making 10000000 requests to http://localhost:8080/index.html
8 threads and 400 connections
Completed 2516980 requests
Completed 5033960 requests
Completed 7550940 requests
Thread Stats Avg Stdev Max +/- Stdev
Latency 439.75us 350.49us 7.60ms 92.88%
Req/Sec 61.13k 8.26k 72.00k 87.54%
10000088 requests, 100222 sock connections in 19.87s, 3.42GB read
Requests/sec: 503396.23
Transfer/sec: 176.16MB

Benchmarking Tips

The machine running wrk must have a sufficient number of ephemeral ports
available and closed sockets should be recycled quickly, especially when
HTTP/1.1 keep-alive is disabled.
To handle the initial connection burst the server's listen(2) backlog
should be greater than the number of concurrent connections being tested.

Acknowledgements

wrk contains code from a number of open source projects including the
'ae' event loop from redis, the nginx/joyent/node.js 'http-parser' and
the Tiny Mersenne Twister PRNG. Please consult the NOTICE file for
licensing details.