Head in the clouds…

We’ve broken some new ground this week. We’ve used Amazon’s EC2 computing cloud to perform intense web load testing on an upcoming client site.

Here’s how we did it:

1. We used Amazon EC2 to host a Windows 2003 server in the cloud. I customized the instance with tools we needed and created our own personal AMI (Reuseable System Image).

2. We used the Microsoft Web Stress Tool to record and run our stress tests. This is a free tool that we have used many times in the past. It is simple,  mature (published in 2002) and reliable.  The tools allows you to record a user session on a website and play it back as many times as you like. We we’re able to execute 100,000 requests from a single machine in an hour. The application simply captures all the HTTP GET and POST requests happening on the TCP socket. It’s a very simple yet effective approach.

3. We uploaded the scripts to several EC2 Windows servers and let them run. The web stress tool uses a lot of resources depending on the number of threads and sockets you configure the script for. The more simultaneous requests you want to make the more resources you will need on your host machine. We had good luck with a basic, medium size 32 bit windows instance.

This is one of the best uses of cloud computing I’ve come across so far. People often load test using machines on the same core network as their web servers. This approach usually bypasses the firewalls, switches and routers that your internet traffic would normally encounter.  Obviously this is not a true test of your infrastructure. Using servers on the cloud outside of your network lets you simulate true load on your infrastructure. For our tests we used servers in different regions of the US and Europe.

My total amazon costs were about $10 USD. Unless you have access to stacks of idle windows machines this is the most cost effective way of spinning up Windows servers for short term use.

Tags:

Leave a Reply


Close
E-mail It