We have a new Win 2012 server hosting a legacy .NET 3.5 WCF Service (with 22 endpoints and maybe a couple of hundred operations) and we are having some performance issues and want to control the number of connections.
We have attached perfmon Web Service/Current Connections
counter and see this value repeatedly rise to a steady 24 connections (with occasional spikes to 25).
We have tried managing the number of connections using system.ServiceModel\behaviors\serviceBehaviors\behavior\serviceThrottling
. We have tried default values, low numbers, recommended and high numbers:
<!-- default -->
<serviceThrottling />
<!-- low -->
<serviceThrottling maxConcurrentCalls="5" maxConcurrentSessions="10" maxConcurrentInstances="15"/>
<!-- recommended (2 processors) -->
<serviceThrottling maxConcurrentCalls="32" maxConcurrentSessions="200" maxConcurrentInstances="232"/>
<!-- high-->
<serviceThrottling maxConcurrentCalls="2000" maxConcurrentSessions="2000" maxConcurrentInstances="2000"/>
- Where else might this connection limit be getting set?
- Have we added the correct counter in perfmon?
Update
We've added another client, and doubled the number of requests that the WS server is processing. So this has proved that the throttling is occuring upstream. The upstream client is a .NET3.5 ASP.NET website. The connection to the WCF service is via a wsHttpBinding.
We have already added system.net\connectionManagement\maxconnection
and this hasn't had any impact.
What other settings might throttle outgoing ASP.NET connections to a WCF service?