Sign inSign up

romram/hailstorms

By romram

•Updated almost 8 years ago

Hailstorms provide locustio based load test in a box.

Image
0

1.5K

romram/hailstorms repository overview

⁠Hailstorms

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 container

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.

⁠Initialization

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:

  • hailstorm This is the folder where help scripts are written in the init phase.
  • scripts This is the folder where your load test scripts will be placed. Some samples can be placed here as well.
  • generated This is the folder where the load test is writing it's log files.
⁠Usage

The usage message is triggered when no command or parameters have been added.

usage:  docker run -it romram/hailstorms command [options] [parameters]
⁠The commands
  • __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

Tag summary

Content type

Image

Digest

Size

159.9 MB

Last updated

almost 8 years ago

docker pull romram/hailstorms