To be able to “stress test” our server, we’re preparing to deploy an Open Source application called Siege which simulates multiple users making HTTP requests to the web application. It didn’t do quite what we wanted in the logging department, so we’ve hacked it about a bit and, in the spirit of Open Source, made it available on GitHub.
Now we can get down to writing some test scripts that use Siege to test specific things on the server to see how it (and by extension our application) will behave under load. To make these artificial tests more realistic, Siege helpfully includes the ingenious -i command line option which will make it choose from the list of urls we give it in a cheerfully haphazard fashion, turning it into the server testing equivalent of a roomful of monkeys with internet browsers that will only connect to our site.
(The full command we’re looking to use is:
siege -c10 -r50 –file=urls-to-test.txt -E session.log -i in case anyone was really interested in the geeky details)
Now to solve the problem where my plastic laptop starts to melt before the server looks even vaguely stressed…