arvatos

Hello

We are experiencing some problems with connections to the server in one the applications of a customer.

We have an scenario in which various clients connect to one server. As the server acknowledge clients of some operations we are using a custom dualHttp binding (it compress messages).

<customBinding>

<binding name="DualHttpCompressionBinding" closeTimeout="00:00:30" openTimeout="00:00:30"

receiveTimeout="23:59:59" sendTimeout="00:01:00" maxConnections="100">

<reliableSession inactivityTimeout="00:10:00" maxPendingChannels="128" maxTransferWindowSize="40" ordered="false"/>

<compositeDuplex />

<oneWay maxAcceptedChannels="100" >

<channelPoolSettings maxOutboundChannelsPerEndpoint="100" />

</oneWay>

<gzipMessageEncoding innerMessageEncoding="mtomMessageEncoding"/>

<httpTransport useDefaultWebProxy="false" />

</binding>

</customBinding>

As we need several clients, we have changed also the service throttling.

<serviceThrottling maxConcurrentCalls="100"

maxConcurrentInstances="100"

maxConcurrentSessions="1000"/>

with this configuration we were able to connect only 25-30 PCs to the service. Other clients trying to reach the service throw this exception:

¡°This request operation sent to http://acindar69/SSMWebHost/Service.svc did not receive a reply within the configured timeout (00:01:00). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client).¡±

To solve this, we expose the same service in 2 different endpoints and configurate some clients to connect to one of the endpoints and the others to the other endpoint.

Like this, we could run around 40 clients, but keep having the same exceptions when trying to connect some more.

Although We have ¡°solve¡± the problem for some number of clients, the solution is clearly not the best. We must create a new endpoint (exposing exactly the same service) for every 25-30 clients.

My impression is that there must be some configuration limiting endpoints not to accept more than 30 connections.

Any clue on how can we run more clients without adding new endpoints