我正在使用带有nettcprelaybinding的服务总线。一方是OnPremise服务器,它与服务总线有恒定的连接。另一方面,Azure Web角色通过打开相应的服务总线并从服务器获取信息来响应传入的Web请求。Azure Servicebus继电器性能
我担心的是渠道创作的表现。通过服务总线建立到服务器的新连接需要几秒钟的时间。缓存我的ChannelFactory似乎没有多大帮助。频道开放后的转播表现非常好。
关于如何提高性能的任何建议。在Azure中缓存信息只能在一定程度上完成。我需要连接到onpremise服务器。
我可以以某种方式建立到服务总线的连接池吗?
关于更多的事情,有许多不同的onpremise服务器,所以它不只是一个连接来保持活力。
感谢您的好评。不知道60秒的限制。如果我想集中连接。什么是这样做的好方法?我通过以下链接找到了一些信息(http://code.msdn.microsoft.com/WCF-Azure-NetTCP-Keep-Alive-09f50fd9)。但是,这是多实例Azure环境中的优秀解决方案吗?如果一个通道在一个实例上打开并且下一个客户端在另一个实例上执行?还是负载平衡器确保使用相同的实例? – user1284390 2012-04-03 16:53:38
据我了解,每个实例都有自己的连接。而且,由于它们保持打开状态,因此您需要了解单个命名空间允许的最大连接限制(2000或某些我认为的限制)。如果它的好坏取决于你对性能和可扩展性的需求。 – BrentDaCodeMonkey 2012-04-03 18:09:15
这有点旧 - 但仅供参考,似乎大多数Azure LB现在都是基于软件的,并且默认超时时间为4分钟(而现有的基于硬件的LB不超过1分钟) - 现在可以配置。但是,目前还不清楚Service Bus客户端库是否自动为您实现TCP KeepAlive,因此LB超时并不是真正的问题:https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/ – Jmoney38 2018-01-09 03:28:09