All Projects → debugtalk → Stormer

debugtalk / Stormer

Licence: mit
Wrappers for making load test with locust more convienient.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Stormer

Hargo
Hargo is a Go library and command line utility that parses HAR files, can convert to curl format, and serve as a load test driver.
Stars: ✭ 164 (+300%)
Mutual labels:  http-requests, performance-testing
Twitchcsharp
Twitch C# Wrapper for the Twitch v3 REST API
Stars: ✭ 36 (-12.2%)
Mutual labels:  wrapper
Http Factory
Implementation of PSR-17 (HTTP Message Factories)
Stars: ✭ 859 (+1995.12%)
Mutual labels:  http-requests
Python Pixabay
Python 3 Pixabay's API wrapper.
Stars: ✭ 32 (-21.95%)
Mutual labels:  wrapper
Sysbench Docker Hpe
Sysbench Dockerfiles and Scripts for VM and Container benchmarking MySQL
Stars: ✭ 14 (-65.85%)
Mutual labels:  performance-testing
Nim Libsodium
Nim wrapper for the libsodium library
Stars: ✭ 32 (-21.95%)
Mutual labels:  wrapper
Image Actions
A Github Action that automatically compresses JPEGs, PNGs and WebPs in Pull Requests.
Stars: ✭ 844 (+1958.54%)
Mutual labels:  performance-testing
Swoole Performance Tests
Performance tests of swoole against other PHP application server setups
Stars: ✭ 40 (-2.44%)
Mutual labels:  performance-testing
Golang Tmdb
This is a Golang wrapper for working with TMDb API. It aims to support version 3.
Stars: ✭ 36 (-12.2%)
Mutual labels:  wrapper
Breaker
Circuit breaker for HTTP requests in Elixir
Stars: ✭ 30 (-26.83%)
Mutual labels:  http-requests
Godo
godo is an improved `go run`
Stars: ✭ 28 (-31.71%)
Mutual labels:  wrapper
Fbbotw
Python Wrapper for Facebook Messenger Bot Platform.
Stars: ✭ 15 (-63.41%)
Mutual labels:  wrapper
Meshery Linkerd
Meshery adapter for Linkerd
Stars: ✭ 34 (-17.07%)
Mutual labels:  performance-testing
Parallel Ssh
Asynchronous parallel SSH client library.
Stars: ✭ 864 (+2007.32%)
Mutual labels:  ssh-client
Pretty Package Versions
A small, indipendent wrapper to get pretty versions strings
Stars: ✭ 986 (+2304.88%)
Mutual labels:  wrapper
Clif
Binding generator to wrap C++ for Python using LLVM.
Stars: ✭ 845 (+1960.98%)
Mutual labels:  wrapper
Libsathelper
SatHelper Library for use on Satellite Projects
Stars: ✭ 28 (-31.71%)
Mutual labels:  wrapper
Fluent
Python wrapper for stdlib (and other) objects to give them a fluent interface.
Stars: ✭ 32 (-21.95%)
Mutual labels:  wrapper
Easygo
基于Kotlin、OkHttp的声明式网络框架,像写HTML界面一样写网络调用代码
Stars: ✭ 40 (-2.44%)
Mutual labels:  http-requests
Simplenetnlp
.NET NLP library
Stars: ✭ 38 (-7.32%)
Mutual labels:  wrapper

Stormer

Wrappers for making load test with locust more convienient.

Features

  • Start locust master and specified number of slaves at once.
  • Overwrite test scripts on all remote machines with ease.
  • Download remote file/directory to local path.

Dependencies

Stormer is mainly based on locustio and paramiko, you can install all dependencies through requirements.txt.

$ pip install -r requirements.txt --upgrade

Usages

Currently, Stormer supports two subcommands.

$ python main.py -h
usage: main.py [-h] {locust,sput} ...

Wrappers for making load test with locust more convienient.

positional arguments:
  {locust,sput}  sub-command help
    locust       locust wrapper.
    sput         scp wrapper for putting files.

optional arguments:
  -h, --help     show this help message and exit

locust usage: Start locust master and specified number of slaves with one command.

$ usage: main.py locust [-h] [-f LOCUSTFILE] [-P PORT] [--slaves-num SLAVES-NUM]

Start locust master and specified number of slaves with one command.

optional arguments:
  -h, --help            show this help message and exit
  -f LOCUSTFILE, --locustfile LOCUSTFILE
                        Specify locust file to run test.
  -P PORT, --port PORT, --web-port PORT
                        Port on which to run web host, default is 8089.
  --slave-only          Only start locust slaves.
  --master-host MASTER_HOST
                        Host or IP address of locust master for distributed
                        load testing.
  --slaves-num SLAVES_NUM
                        Specify number of locust slaves, default to machine's
                        cpu count.

sput usage: Copy local file/directory to remote machines and overwrite.

$ python main.py sput -h
usage: main.py sput [-h] [--hostsfile HOSTSFILE] [--localpath LOCALPATH] [--remotepath REMOTEPATH]

Copy local file/directory to remote machines and overwrite.

optional arguments:
  -h, --help            show this help message and exit
  --hostsfile HOSTSFILE
                        Specify hosts file to handle.
  --localpath LOCALPATH
                        Specify localpath of file or directory to transfer.
  --remotepath REMOTEPATH
                        Specify remotepath of file or directory to transfer.

Examples

Start locust master and locust slaves, the slaves number is equal to the machine's cpu count.

$ python main.py locust -f examples/demo_task.py
[2017-02-26 10:52:04,875] Leos-MacBook-Air.local/INFO/logger: Starting Locust 0.8a2
[2017-02-26 10:52:04,897] Leos-MacBook-Air.local/INFO/logger: Starting web monitor at *:8089
[2017-02-26 01:32:15,757] Leos-MacBook-Air.local/INFO/locust.runners: Client 'Leos-MacBook-Air.local_9cfcb5acf942af4b52063c138952a999' reported as ready. Current
ly 1 clients ready to swarm.
[2017-02-26 01:32:15,757] Leos-MacBook-Air.local/INFO/locust.runners: Client 'Leos-MacBook-Air.local_0dba26cc993de413436db0f854342b9f' reported as ready. Current
ly 2 clients ready to swarm.
[2017-02-26 01:32:15,758] Leos-MacBook-Air.local/INFO/locust.runners: Client 'Leos-MacBook-Air.local_2d49585a20f6bcdca33b8c6179fa0efb' reported as ready. Current
ly 3 clients ready to swarm.
[2017-02-26 01:32:15,782] Leos-MacBook-Air.local/INFO/locust.runners: Client 'Leos-MacBook-Air.local_cc9d414341823d0e9421679b5f9dd4c4' reported as ready. Current
ly 4 clients ready to swarm.

Only start 4 locust slaves and connect to locust master.

$ python main.py locust -f examples/demo_task.py --slaves-only --master-host <master-host-ip> --slaves-num 4

Copy local directory to all remote hosts.

$ python main.py sput --hostsfile examples/hosts.yml --localpath examples --remotepath /root/examples
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].