У меня есть служба WCF, которая прослушивает ретранслятор служебной шины Azure, который по причинам, которые я не могу изменить, я самостоятельно размещаю в службе Windows.
После того, как служба подвергается одновременной нагрузке - обычно путем предоставления ей серии длительных запросов - мы начинаем получать следующие сообщения обратно из служебной шины Azure:
<Error>
<Code>502</Code>
<Detail>Bad Gateway.TrackingId:f0e32d08-2721-464c-a108-fe63f1efc443_G23,TimeStamp:4/23/2013 8:22:18 AM</Detail>
</Error>
Мы подозреваем, что эту проблему вызывает одновременная загрузка.
Моя служба полностью лишена гражданства.
ServiceHost = a WebServiceHost which we instantiate ourselves.
Binding = BasicHttpRelayBinding
InstanceContextMode = Single
ConcurrencyMode = Multiple
SessionMode = NotAllowed
ServiceThrottlingBehaviour.MaxConcurrentConnections = A very large number
Transport = Streaming
У меня четыре вопроса:
- Вышеупомянутая ошибка похожа на проблему одновременной загрузки?
- Какие еще варианты конфигурации мне следует рассмотреть, чтобы предложить больший масштаб.
- Что происходит в автономной среде Window Service, когда исчерпывается лимит одновременных подключений? Служба просто выйдет из строя? Будут ли соединения ставиться в очередь?
- Есть ли способ надежно отслеживать количество одновременных подключений в любой момент времени?