Simple load testing tool with real-time updated histogram of request timings
$ ./slapper -help
Usage of ./slapper:
-maxY duration
max on Y axe (default 100ms)
-minY duration
min on Y axe (default 1ms)
-rate int
Requests per second (default 50)
-targets string
Targets file (default "stdin")
-base64body bool
Bodies in target file are base64-encoded (default false)
-timeout duration
Requests timeout (default 30s)
-workers int
Number of workers (default 8)
- q, ctrl-c - quit
- r - reset stats
- k - increase rate by 100 RPS
- j - decrease rate by 100 RPS
The targets file is line-based. Its syntax is:
HTTP_METHOD url
$ body
The body line is optional. The rules for what is considered to be a body line are:
- If something starts with
$
(dollar-sign and space), it's a body - If the line is literally
{}
, it's an empty body
A missing body line is taken to mean an empty request body. Point (2) is there for backwards-compatibility.
- Idea and initial implementation is by @sparky
- This module was originally developed for Booking.com.