Deploy N AWS micro instances and launch coordinated siege against webservers.
Pull request Compare This branch is 47 commits behind jmsdnns:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Micro Army

This is a tool to quickly turn on some number of AWS micro instances and have them slam a webserver simultaneously. The micro's are effectively Siege cannons.

Siege is a flexible load testing tool. You can configure different payloads and frequencies and all kinds of good stuff. So the trick for microarmy is to get Siege on a bunch of computers quickly and coordinate the micro instances to work in parallel. The micro instances are controlled via SSH in parallel, thanks to Eventlet + Paramiko.

After the micro's have finished, the output from each Siege instance is parsed to produce a CSV report.

Example Use:

Here is roughly using micro army looks like.

$ ./ 
command :: help
  help:     This menu.
  quit:     RIP
  deploy:   Starts cannon initializations routines
  fire:     Asks for a url and then fires the cannons
command :: deploy
Deploying cannons...  Done!
Giving cannons 30 seconds to boot
Loading cannons...    Done!
command :: fire
  target: 'http://webserver' 
REPORT ]-------------------


There are only a few requirements. Everything required for the micro's is installed on the micro's, after all.

$ pip install eventlet paramiko boto


You should create a inside the repo and fill in the following keys. Look at for more information.

  • aws_access_key
  • aws_secret_key
  • security_groups
  • key_pair_name
  • num_cannons
  • ec2_ssh_key