A utility for arming (creating) many bees (micro EC2 in stances) to attack (load test) targets (web applications).
- Python 2.6
- boto
- paramiko
% easy_install beeswithmachineguns
% pip install beeswithmachineguns
% git clone git://github.com/newsapps/beeswithmachineguns.git % cd beeswithmachineguns % mkvirtualenv --no-site-packages bees % easy_install pip % pip install -r requirements.txt
Bees uses boto to communicate with EC2 and thus supports all the methods of vstoring credentials that it does. These include: declaring environment variables, machine-global configuration files, and per-user configuration files. You can read more about these options on boto’s configuration page
A type bees session looks something like this:
bees up -s 4 -g public -k frakkingtoasters bees attack -n 10000 -c 250 -u http://www.ournewwebbyhotness.com/ bees down
This spins up 4 servers in security group ‘public’ using the EC2 key ‘frakkingtoasters’, which is expected to reside in ~/.ssh/.
It then uses those 4 servers to send 10,000 requests, 250 at a time, to attack OurNewWebbyHotness.com.
Lastly, it spins down the 4 servers. Please remember to do this—we aren’t responsible for your EC2 bills.
For complete options type:
bees -h
Please log your bugs on the Github issues tracker
The bees are a creation of the News Applications team at the Chicago Tribune—visit our blog and read our original post about the project
Initial refactoring code and inspiration from Jeff Larson
MIT.