views:

546

answers:

1

I'm attempting to load test a WCF service with (IIS6/Server2003/BasicHttpBinding). The service is throttled as follows:

<serviceThrottling maxConcurrentCalls="100" maxConcurrentSessions="100" maxConcurrentInstances="100"/>

To assess the number of calls on the server I'm using the ServiceModelService 3.0.0.0 performance counters. If I throttle the maxConcurrentCalls down to 20, 15, 10 or anything lower the Instances performance counter show that WCF is respecting the throttling. However, if I change maxConcurrentCalls to 30 I'm never able to get Instances to go above 24. Additionally, Calls Outstanding never goes above 24. What else could be limiting WCF?

A: 

See Why Only Two Concurrent Requests for WCF Load Testing?

When I looked at this question, my first response is that: the client did not really send enough requests to the server. Why is that? Here are the reasons:

1) If you use the synchronous WCF HttpModule/HttpHandler (installed by default), you would get the maximal number of concurrent requests (held by that number of ASP.NET worker threads) as 12 * [Number of CPU for the Server].

2) WCF throttling is specified above.

eed3si9n