tags:

views:

568

answers:

5

I'm interested in simulating a number of clients attempting to invoke a WCF service simultaneously and I need to measure the average response time for each client. Are there any good tools available for load/stress testing WCF services which have multiple end points(wsHttp, netTCP etc). I've heard that SOAPUI is the most prevalent testing tool available but I'm not quite certain as to how much of a reach it has when it comes to testing WCF services since SOAPUI can consume the service only as a classic ASMX service(basicHttpBinding).

Though not directly relevant, the service is using Entity Framework behind the scenes to perform some Insert operations on a small object graph(5-10 entities) and I'm noticing that calling SaveChanges is not as fast as I'd like it to be. The scenario I have is a large number of clients invoking the service passing in a very small data set as input( an array of 50-10 int IDs)

PS - I'm not looking to use the WCF Test Client

A: 

You may find that it's fairly straightforward just to host your test under a conventional unit test runner. In particular, one of the things that the Visual Studio testing framework gives is timed performance tests and a neat UI for presenting the results.

Alternatively using a custom time measurement class under NUnit or similar would be quite simple, too.

Jeremy McGee
A: 

If you are using Visual Studio Team System it has a Load Test template type. That is definitely what you want if you have it available.

spoon16
A: 

I evaluated a tool called Parasoft SOATest. It is very capable but I only scratched the surface when playing with the tool. It can work with Net.Tcp and has various load testing feature, including distributed agents, parameterised tests, test result assertions using xpath etc. However priorities changed and the tool is very expensive as well so we didn't end up using it. But you can always get a trial key from them and see if it suits your purpose.

Pratik
+1  A: 

I haven't used it, but check out WCF Load Test on CodePlex.

John Saunders
A: 

You might also consider evaluating WCFStorm. It certainly is not expensive like Parasoft's SOA Test.