Hailstorms provide locustio based load test in a box.
1.5K
Why the name hailstorms. Well, firstly plain hailstorm was occupied and secondly a internet attack is quite similar to a hailstorm. One hail doesn't do much damage to (e.g. a car) but several thousands do; exactly like one request doesn't harm much but several thousands per second do (or can).
The hailstorms docker container is based on python 3.5-slim with locustio and boto3 added. Some additional scripts are also added that simplifies the control of the load.
The hailstorms docker can simplify the life for you if you run the docker with the init command. Please not that you should be in a folder where your load test project resides. You must also have the name and/or path to a set of folders, if not the init script will suggest some for you:
The usage message is triggered when no command or parameters have been added.
usage: docker run -it romram/hailstorms command [options] [parameters]
__shell__
Dive into the core of the docker container. For them that can handle it.
init Asks the right questions and creates a simplified start script. Please note that you must mount your start script folder of choice like this:
docker run --rm -it -v /your/path/to/help/scripts/folder:/opt/hailstorms/helpscripts romram/hailstorms init
__copy_samples__
Copy sample files to your script folder. Used by the init command.
__distribute__
Expects the '--script scriptfile' parameter and mounted volumes to work.
This script is normally initiated through the convenience start script that was created in the init stage.
__start__
Expects mounted volumes and environment variables to function.
Normally initiated through the distribute command.
command:
shell Dive into the core of the docker container. For them that can handle it.
init Asks the right questions and creates a simplified start script.
Please note that you must mount your start script folder of choice like this:
docker run --rm -it -v /your/path/to/help/scripts/folder:/opt/hailstorms/helpscripts romram/hailstorms init
copy_samples Copy sample files to your script folder. Used by the init command.
distribute Expects the '--script scriptfile' parameter and mounted volumes to work.
This script is normally initiated through the convenience start script
that was created in the init stage.
start Expects mounted volumes and environment variables to function.
Normally initiated through the distribute command.
parameters:
-s|--script The relative path to the scriptfile containing the load test tasks and config.
NB. This has to be applied with the distribute and start command.
-p|--profile named_profile Applies the named profile from your config dict in your scriptfile.
More than one profile can be used and are applied in order of entered.
E.g. --profile heavy+load-env+long
profile default will be applied first in full, then
heavy will be applied and override any previously set params, then
load-env will be applied and lastly
long profile will be applied
--params Any parameter that is used in the scriptfile. E.g. rps=100,timeout_seconds=1
--after_script A script to be run at end of the load test. E.g. For calculating KPIs
--dryrun Run everything except actual load. Makes it possible to see if everything
is in order.
-v Increase verbosity to get more logged. Can be used several times. E.g. -v -v or -vv
Content type
Image
Digest
Size
159.9 MB
Last updated
almost 8 years ago
docker pull romram/hailstorms