У меня есть клиент WCF, который устанавливает соединение с сервером WCF. Когда я запускаю хост-приложение, клиент работает нормально, своевременно получает и отвечает на запросы. Но через минуту или около того и с повышенной нагрузкой процесс замедляется до ползания.
Я отследил проблему до времени, необходимого для отправки ответа на сервер WCF. Отправка простого текста (не более 2 Кб) занимает 10-15 секунд, а иногда и дольше.
Сам сервер WCF работает отлично (насколько я знаю)
Существуют ли какие-либо конкретные настройки, которые я могу настроить, чтобы ускорить пропускную способность или исправить ситуацию?
Сервисы связываются с привязкой net.tcp. Вот мои настройки конфига
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_Comms" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00"
sendTimeout="00:01:00" transactionFlow="false"
transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="500"
maxBufferPoolSize="524288" maxBufferSize="65536"
maxConnections="500" maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32" maxStringContentLength="8192"
maxArrayLength="16384" maxBytesPerRead="4096"
maxNameTableCharCount="16384"/>
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false"/>
<security mode="None">
<transport clientCredentialType="Windows"
protectionLevel="EncryptAndSign"/>
<message clientCredentialType="Windows"/>
</security>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://a.b.com:9150/Comms/"
binding="netTcpBinding" bindingConfiguration="NetTcpBinding_Comms"
contract="Outside.Comms" name="NetTcpBinding_Comms">
<identity>
<dns value="a.b.com"/>
</identity>
</endpoint>
</client>
</system.serviceModel>