Load test your projects under near-realistic conditions.
SilkPerformer V is an enterprise class load-testing tool, aimed at testing
a variety of online and distributed applications. Version 5.1 adds some
significant support for .NET applications, including Web Services and
remoting, so I gave it a spin.
Web Service testing with SilkPerformer is pretty easy to set up, thanks
to some tight integration with the Visual Studio .NET environment. Start
in SilkPerformer to generate a project, then it moves you over into VS
.NET and builds a testing class in your language of choice. Generate a
Web Service proxy (the easiest way to do this is to set a Web Reference)
and then you can add calls to the Web Service into the testing code. From
there, you can run the SilkPerformer script, and get the results right
back into the VS .NET interface. If something looks fishy, SilkPerformer's
own TrueLog Explorer will let you drill into the performance of each call
in detail. So although SilkPerformer uses its own scripting language,
you don't even have to learn that language for routine development testing;
the integration bits take care of all the translation chores for you.
One of the nice things about SilkPerformer is that it does more than
just throw a load at your applicationit also keeps an eye on what
comes back. This is important to verify performance under load. With a
Web application, this means more than just looking for a HTTP 200 responseSilkPerformer
will check the content to see that it's what you specified rather than
a "friendly" error message. In addition to building tests with the wizard
interface, you can record HTTP/XML traffic and play it back, as well as
dig into the traffic with a "Visual XML" interfect in SilkPerformer itself.
Another nice touch is the ability to drill into the time for each component
of a Web response, and to set a warning threshold that lets you measure
how often the response is unacceptably slow.
Of course, there's a lot here before just testing .NET Web Services.
It can also talk directly to Java applications, Oracle, ODBC, CORBA, PeopleSoft,
SAP, DB2, Tuxedo, and a host of other APIs and application frameworks.
Even if your application is widely distributed, SilkPerformer can apply
a virtual load of thousands of users, with realistically randomized behavior,
and help you interpret the results. Of course, this sort of power isn't
inexpensive (expect a five figure price tag), but you can get a testdrive
version from the Web site to see whether it might be right for your next
Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.