限制发送端口,不引入编码

To throttle the send port, with no coding introduced

我们目前正在处理网络服务调用的超时问题。

目标是限制发送端口级别的最大并发出站调用,例如当源触发 1000 条消息到发送端口时,在理想情况下,BizTalk 一次接收 10 条消息,而不是同时发送 1000 条消息。

由于 BizTalk 是为吞吐量而构建的,是否有任何设置可以在发送端口级别(或主机实例级别而不是整个组)进行限制而不引入任何编排编码。

(出于性能原因,不能选择按顺序交货)

如果 Ordered Delivery 限制过多,您基本上有两个选择:

  1. 按照本文所述使用资源分配器模式:http://social.technet.microsoft.com/wiki/contents/articles/23924.biztalk-server-resource-dispenser-send-port-edition.aspx

  2. 将发送端口隔离在它自己的 Host/Instance 中并将工作线程数(设置控制台中的 MaxWorkerThreads)减少到刚好超过您认为目标的并发连接数可以支持。

要查看的另一个选项是 BTSNTSvc.exe.config 和 BTSNTSvc64.exe.config

配置部分中的最大连接数

Setting SOAP, HTTP, and HTTP-based WCF Adapters Concurrent Connections

<configuration>
  <system.net>
    <connectionManagement>
      <add address="www.contoso.com" maxconnection="20" />
      <add address="*" maxconnection="10" />
    </connectionManagement>
  </system.net>
</configuration>

请注意,这是每个 BizTalk 主机实例的最大连接数