Prep your Web apps for stellar performances
Load testers prove a valuable part of your development strategyFollow @infoworld
High-performance Web sites and apps don't happen accidentally. A detailed performance and scalability testing strategy is needed throughout the development lifecycle -- and that requires a good load-testing solution.
The rewards are clear: Strong, ongoing emphasis on performance testing can keep budgets in check and reduce production issues. With the plethora of performance and scalability tools available today, however, choosing the right one for your shop can prove challenging.
I recently examined three Web load-testing solutions: OpenSTA 1.4.3, Ingenieurbüro David Fischer's Proxy Sniffer Professional Edition 3.7, and Minq's PureLoad Enterprise Edition 3.3.1. The three solutions represent the low-, middle-, and higher-end price points of the load-testing tools market; and for basic HTTP and HTTPS testing, any of these three solutions more than meets the need. The way each solution is implemented differs, however, as does the functionality they offer.
OpenSTA is an open source Web load-testing tool that's easy to install and use. Setting up baseline and scalability types of load tests using either a single or multiple machines is a snap. Platform support, however, is surprisingly limited to Windows only.
Nonetheless, after registering all of my test machines with an OpenSTA repository on a central machine, I was executing distributed load tests in no time. Heavy OpenSTA load tests may also require developers to adjust the maximum number of sockets on each load client to reduce the occurrence of socket errors.
Script creation, execution, and analysis are all accessible via OpenSTA's Commander interface, which is a native Windows application. After creating a new script definition and clicking on it, the OpenSTA Script Modeler opened. The Script Modeler has three panes: one for script creation; a diagnostic window for script compilation and playback; and a third view that allows developers to see the HTML, site structure, and header information.
OpenSTA scripts are written using SCL (Script Control Language) -- a built-in compiled scripting language that has influences from Fortran and Digital's Digital Command Language. Reference documentation is provided to get developers going. Developers also might find it easy to learn SCL by first using the built-in capture facility.
After capturing interactive browser sessions with several test Web sites and apps, I read through the code and began quickly to grasp the language constructs. For most basic testing, you can simply capture, compile, and execute the script using the Commander.
For more productionlike load tests, you can use a variety of variable-based inputs. For example, I used ODBC to provide script input of customer information that I had on hand in a database. Likewise, you can input data into scripts from variables, a list of values, and files, such as Excel spreadsheets.
OpenSTA offers an impressive amount of customization and control over various portions of the test configuration. With scripts in hand, I returned to Commander and began defining tests. The test setup screen is a spreadsheetlike interface.