У нас есть проблема, из-за которой во время нагрузочного тестирования, если мы быстро выполняем вызовы в одном из наших сервисов, мы получаем ошибку
"System.ServiceModel.ServerTooBusyException: запрос на создание надежного сеанса был отклоненМесто назначения RM. Сервер 'net.tcp: // localhost: 10511 / ParameterMonitorService' слишком занят, чтобы обработать этот запрос. Повторите попытку позже. Не удалось открыть канал. "
Мы увеличили значение maxPendingChannelsот значения по умолчанию от 4 до 128, а затем и далее, и ошибка исчезла, однако теперь, вместо того, чтобы выдавать исключение, служба просто прекратит обработку сообщений под нагрузкой, а затем возобновит работу через несколько минут.
Это делаеткажется, ничего не роняет, просто висит на некоторое время.Чем больше мы тратим службу, тем дольше длится это восстановление.
Служба настроена как Per-Call с ConcurrencyMode Multiple.Другие настройки поведения:
<serviceThrottling maxConcurrentCalls="100" maxConcurrentSessions="100" maxConcurrentInstances="100"/>
<customBinding>
<binding name="Services_Custom_Binding" openTimeout="00:00:20" sendTimeout="00:01:00">
<reliableSession ordered="true" inactivityTimeout="00:10:00" maxPendingChannels="128" flowControlEnabled="true" />
<binaryMessageEncoding>
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binaryMessageEncoding>
<tcpTransport maxPendingConnections="100" listenBacklog="100" />
</binding>
</customBinding>
Мы застряли.Любая помощь приветствуется!