Skip to content

tarekziade/salvo

Repository files navigation

Salvo

http://coveralls.io/repos/github/tarekziade/salvo/badge.svg?branch=master http://travis-ci.org/tarekziade/salvo.svg?branch=master

This is the replacement for https://github.com/tarekziade/boom

Salvo is a simple command line tool to send some load to an HTTP(S) endpoint.

Salvo is a script you can use to quickly smoke-test your web app deployment. If you need a more complex tool, I'd suggest looking at Molotov

Salvo was specifically written to replace my Apache Bench (ab) usage. Salvo is based on Molotov, which uses Python 3 asyncio & aiohttp.

Installation

Salvo requires Python 3.6+ and Molotov, which gets installed as a dependency.

Just do:

$ pip install salvo

Basic usage

Basic usage example: 100 queries with a maximum concurrency of 10 users:

% salvo http://localhost:80 -c 10 -n 100
-------- Server info --------

Server Software: nginx/1.18.0
Host: localhost

-------- Running 100 queries - concurrency 10 --------

[================================================================>.] 99%

-------- Results --------

Successful calls                    1000
Total time                          16.0587 s
Average                             0.0161 s
Fastest                             0.0036 s
Slowest                             0.2524 s
Amplitude                           0.2488 s
Standard deviation                  0.011326
Requests Per Second                 62.27
Requests Per Minute                 3736.29

-------- Status codes --------
Code 200                    1000 times.

You can also use --duration if you want to run for a given amount of time.

For a full list of features, run salvo --help

Contribute

Salvo is very simple and anyone familiar with Python can contribute.

If you are interested in this project, you are welcome to join the fun at https://github.com/tarekziade/salvo

Make sure to add yourself to the contributors list if your PR gets merged. And make sure it's in alphabetical order!