Friday 15 July 2011

c# - WCF Stress Testing on large number of calls -


I am currently developing a secure WCF service that will receive a large number of calls, e.g. More than 3000. My basic approach is to call webservice methods using 'async', but I quickly realized that I needed to use the work. Ensure that all calls were successfully performed before the execution ended.

However, using WaitAll, I am overloading the service with 70% calls now returning a combination of 'CommunicationException' and 'ServerTooBusyException' type messages. I have reviewed the WCF throttling options, but have still found that it has no direct effect, i.e. (note: the webservice on local IIS is being run locally at this location)

  & lt; Service provider maximumconcollect = "4096" maximum resource session = "65536" maxcancerinstance = "2147483647" />  

Run the webservice call syncing This works fine, but runs very slow and I do not care too much about waiting for any callback from webservice - I literally call these calls' Fire and Mistake Needed

  var numberOfItations = 3000;   

Var All Calls = New List & amp ;; Tasks & gt; (); (Var service = New WebserviceServiceClient ()) {for (var n = 0; n & lt; numberOfItations; n ++) {var someObject = new SomeObject (DateTime.UtcNow); AllCalls.Add (service.WebserviceMethodAsynch (SomeObject)); }} Tasks. Waiting for all (All calls. Two arrays ());

Can a client be advised on a brilliant approach without failing to wrest the WCF's forgery?

Note: One approach will be to use the queue (in this case the ezoor cues), irony is that the service is doing some minor preprocessing before adding an object to a line that is raised by a separate, more intensive process. is.

In advance thank you

Your customer and your web service are not on the same machine, right? Anyway, I believe that you want to use a better load test to get the results you are looking for:


No comments:

Post a Comment