A utility for arming (creating) many bees (micro EC2 instances) to attack (load test) targets (web applications).
- Python 2.6
- boto
- paramiko
Preferred:
pip install beeswithmachineguns
or, if you must:
easy_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 same methods of storing 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 keypair ‘frakkingtoasters’, whose private key is expected to reside at ~/.ssh/frakkingtoasters.pem.
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.