我有一个WCF服务正在监听Azure服务总线中继,这是因为我无法更改的原因我是在Windows服务中自托管的。WCF并发连接和Azure服务总线中继
服务一旦被并发负载下投入 - 通常是通过赋予一系列的长时间运行的请求 - 我们开始从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环境中,当并发连接限制被击中时会发生什么?服务会失败吗?连接会排队吗?
- 有没有一种方法可以在任何特定时刻可靠地监控并发连接的数量。
嗨托德,谢谢你的回复。我们一直在使用ConnectionStatusBehaviour诊断我们的连接,并且在此期间没有监视任何连接事件。它目前是澳大利亚的公共假期,但我会在接到您的报价后与您联系,并在重返工作时与您联系并提供更多详细信息。再次感谢。 – 2013-04-25 07:36:54