Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 1.41 KB

README.md

File metadata and controls

58 lines (44 loc) · 1.41 KB

slapper

Simple load testing tool with real-time updated histogram of request timings

slapper

Interface

interface

Usage

$ ./slapper -help
Usage of ./slapper:
  -H value
    	HTTP header 'key: value' set on all requests. Repeat for more than one header.
  -base64body
    	Bodies in targets file are base64-encoded
  -maxY duration
    	max on Y axe (default 100ms)
  -minY duration
    	min on Y axe (default 0ms)
  -rate uint
    	Requests per second (default 50)
  -targets string
    	Targets file
  -timeout duration
    	Requests timeout (default 30s)
  -workers uint
    	Number of workers (default 8)

Key bindings

  • q, ctrl-c - quit
  • r - reset stats
  • k - increase rate by 100 RPS
  • j - decrease rate by 100 RPS

Targets syntax

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:

  1. If something starts with $ (dollar-sign and space), it's a body
  2. 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.

Acknowledgement

  • Idea and initial implementation is by @sparky
  • This module was originally developed for Booking.com.