InstanceContextMode = PerCall、ConcurrencyMode = Multiple、TCPを実行しているWCFサービスがあり、Selfhost(Windowsサービス)とIIS7/IIS8でホストされています。
スロットルはこれに設定されています:
<serviceThrottling maxConcurrentCalls="2000" maxConcurrentSessions="2147483647" maxConcurrentInstances="2000"/>
そして、バインディングは次のようになります:
<binding name="netTcpRegular" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="infinite" sendTimeout="01:00:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" listenBacklog="1000" maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxConnections="200" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
<reliableSession ordered="true" inactivityTimeout="infinite" enabled="false"/>
<security mode="None">
<transport clientCredentialType="None"/>
</security>
</binding>
私たちはサービスで状態を維持しているので、すべてのユーザーはすべての呼び出しでフェッチされる独自のオブジェクトを持っています。
問題は、これらの設定で何人の同時ユーザー(セッション)を持つことができ、どの設定がこれに影響を与えているかということです。