Note that there are some explanatory texts on larger screens.

plurals
  1. POSimulate Concurrent WCF Client Calls And Measure Response Time
    primarykey
    data
    text
    <p>I am trying to simulate X number of concurrent requests for a WCF Service and measure the response time for each request. I want to have all the requests hit the Service at more or less the same time. </p> <p>As the first step I spawned X number of Threads, using the Thread class, and have invoked the Start method. To synchronize all the requests, on the Thread callback I open the connection and have a Monitor.Wait to hold the request from being fired, till all the Threads are created and started. Once all the Threads are started, I call Monitor.PulseAll to trigger the method invocation on the WCF Client Proxy.</p> <p>When I execute the requests this way, I see a huge delay in the response. A request that should just a few milliseconds, is taking about a second.</p> <p>I also noticed huge lag between the time the request is dispatched and the time it was received at the service method. I measured this by send sending client time stamp as a parameter value to the service method for each request.</p> <p>I have the following settings. Assume "X" to the Concurrent number of requests I want to fire. Also note with the following settings I don't get any Denial of Service issues.</p> <ol> <li>The Call chain is as follows,Client->Service1->Service2->Service3</li> <li>All Services are PerCall with Concurrency set to Multiple. </li> <li>Throttling set to X Concurrent calls, X Concurrent Instances.</li> <li>MaxConnections, ListenBacklog on the Service to X.</li> <li>Min/Max Threads of ThreadPool set to X on both Client and Server (I have applied the patch provided by Microsoft).</li> </ol> <p>Am not sure if the response time I'm measuring is accurate. Am I missing something very trivial?</p> <p>Any inputs on this would be of great help.</p> <p>Thanks.</p> <p>-Krishnan</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload