Syntax Highlighter

Monday, December 20, 2010

Tis the season...

We've been meaning for a while to put up some videos demoing how Copper can be used to implement load-testing environments with minimal setup. Well, here they are:



In retrospect, it's a simple use case that's easy enough to set up and demonstrate, and makes for some cool visuals... so it's about time we got around to it.

There are two videos, one by me and one by Dave. Each of them follows the same basic format: we start off with a single master VM running a simple hitcounter webapp, and then spawn clone VMs that run an HTTP client and ping the hitcounter. The hitcounter is observed via the webapp's main page, which updates itself dynamically. My hitcounter's main page just counts the hits, while Dave's gets all fancy about it ;)

The way our scripts gets clones to do their work is also different. In my case, a script running on the master VM initiates the cloning, then branches into the code that runs the http client. In Dave's case, he backgrounds a shell command which runs in an infinite loop pinging the hitcounter, and then just creates clones directly using the 'gc clone' command. His background command continues executing on each clone.

Also.. I know.. this demo is not actually a DDOS or a load test. However, throwing a couple of while loops around the http client would get the behaviour pretty close to it.. ;) It's not particularly hard to topple a Django standalone server running in test mode. Actually, in Dave's video you can see the server start struggling to fulfill requests towards the end..

Anyway, if what you see intrigues you, feel free to download and play with Copper yourself.

Cheers and Happy Holidays