viking
is an alternative API load testing tool. We're raiding in style.
viking
is unstable but really cool.
viking
is an opinionated API load testing tool. A few of the key characteristics are:
- Extensive use of multithreading
- Per-thread blocking requests
- Ability to record requests and responses
- YAML based configuration
- Configurable live reporting
- Configurable error behavior
- Smart request parameters (static / increment)
cargo install viking
# This command renders an example configuration to STDOUT.
viking init
version: "0.2"
campaigns:
main:
phases:
- target:
env: "API_URI"
threads: 32
ends:
requests: 500
#time: !s 60
timeout:
s: 2000
report:
interval:
s: 1
spec:
get:
header:
x-api-key:
- env: "API_KEY"
query:
page:
- increment:
start: 0
step: 1
per_page:
- static: 4000
from:
- static: 1694901600
to:
- static: 1694905200
behaviours:
ok:
- match: ^(200)$
mark: success
- match: .*
mark: error
error:
backoff:
s: 1