As part of a recent engagement, I had to setup a stress test (load test) suite on several ASP.NET web applications. There are a couple of tools that can help.
Application Center Test (ACT) that comes with Visual Studio.NET is easy to use and integrates right into the development process. But it does not allow you to use multiple clients to simulate load. So you will always be limited by your current machine’s horsepower in creating a high simulated load. I saw it posted online in a newsgroup from a Microsoft employee that ACT is basically for a developer to do rough performance testing on his/her own development machine to avoid any serious performance issues at the time of code creation. ACT has a big brother, Application Center 2000, but it is a server product, and so is way too expensive to look at unless already in use.
The Web Application Stress tool (WAS) is available as part of the Microsoft Windows 2000 resource kit, yes it works on Windows Server 2003, or as a standalone download. It has several nifty features. First, you can create tests by importing an IIS log file, although I did not try this with an IIS6 log file since I was testing a Win2k system. Say your web site handles a spike in demand poorly, with lots of dropped connections. So you beef up the server hardware and maybe optimize some code algorithms. Then you can feed the IIS log files into WAS and it will try to recreate the same load so you can see whether you improved things or not. WAS also allows you to use multiple client computers to simulate a higher load (which is why I used it this time versus ACT). And the test data is stored in an Access database. It will allow you to specify hundreds of users with passwords, so testing authenticated sites (forms or Windows authentication) are possible.
There are some drawbacks that I ran into, however. Testing sites with cookies is annoying at best. And when testing SSL pages, you have to record against a non-SSL page and go back and manually turn on SSL support in the generated test scripts after the test recording is done. Also, when enlisting multiple clients, they should all be about the same performance-wise. WAS is not smart enough to configure the test data according to the computer’s horsepower.
More WAS links:
Posted
01-08-2004 1:13 PM
by
Darrell Norton