Let’s face it. We write web applications and we probably write a lot of code. Here are a few questions we all should be able to answer but probably cannot:
• How does my code perform under stress?
• Does it scale well?
• When does it fail?
These questions are important to me as I write web applications used by thousands every day. If you cannot answer these questions, ANTS Load provides the answers for these questions as well as many others.
When I started writing this review for ANTS Load, it started to look like a how-to instead of a product review because there are just so many features and options and I wanted to say something about every last feature. I am shying away from the how-to approach since Red Gate has a great support base for its products and even have product step-by-steps on their web site.
I used ANTS Load against a variety of web applications including ones based on PHP, ASP, and ASP.NET. While ANTS Load is fairly Microsoft-centric, it still can be used to test loads on non-Microsoft platforms. The major limitation is performance counters cannot be measured on the server.
Creating test scripts is a simple process. ANTS Load records all actions in a browser as the script is recorded. After the recording is complete, a user can go back and edit the script. The script is in VB.NET, so anyone familiar with VB.NET should be able to modify the script.
The most extensive section of ANTS Load is setting up loads. In this section, a user can select everything from concurrent users and the number of browsers used to traffic spikes and traffic patterns. This section includes selections for performance counters as well. The performance counters menu allows a user to select everything from memory usage to an individual application counter if it is registered.
My first time using ANTS Load, it took about 10 minutes to record a script, set up the load and perform the load testing. I found the results to be very comprehensive and instinctive. The results include a pass or fail, the response times from the server, how long it took different objects in the browser to respond or load and results from the performance counters chosen for the load testing.
I caution against testing local web applications (client and server located on the same computer). I do not believe the results will reflect the true performance of web site or web service from the usage of a browser. During my last testing round, I tested against my local machine (Windows XP Professional) and monitored the memory usage and processor in Task Manager. During testing, the browser threads spiked memory usage significantly.
I had very few issues with ANTS Load. The most prevalent problem is the real-time monitor while running load testing. During significant spikes in a lined graph, it is difficult to tell reference lines from spikes in the graph. This particular issue does not effect the result graphs.
Overall, I find ANTS Load to be a very thorough load testing environment. It is very customizable and flexible to meet your needs. With the sole exception of the somewhat hard-to-read real-time monitoring, this is a tool that every web developer should use.