A simple CLI load testing tool.
Install using pip
:
$ pip install assault
The simplest usage of assault
requires only a URL to test against and 500 requests synchronously (one at a time). This is what it would look like:
$ assault https://example.com
.... Done!
--- Results ---
Successful requests 500
Slowest 0.010s
Fastest 0.001s
Average 0.003s
Total time 0.620s
Requests Per Minute 48360
Requests Per Second 806
If we want to add concurrency, we'll use the -c
option, and we can use the -r
option to specify how many requests that we'd like to make:
$ assault -r 3000 -c 10 https://example.com
.... Done!
--- Results ---
Successful requests 3000
Slowest 0.010s
Fastest 0.001s
Average 0.003s
Total time 2.400s
Requests Per Minute 90000
Requests Per Second 1250
If you'd like to see these results in JSON format, you can use the -j
option with a path to a JSON file:
$ assault -r 3000 -c 10 -j output.json https://example.com
.... Done!
For working on assault
, you'll need to have Python >= 3.7 (because we'll use asyncio
) and pipenv
installed. With those installed, run the following command to create a virtualenv for the project and fetch the dependencies:
$ pipenv install --dev
...
Next, activate the virtualenv and get to work:
$ pipenv shell
...
(assault) $