【问题标题】:BizTalk 2010 Determine Host Throttle settings for receive locationsBizTalk 2010 确定接收位置的主机限制设置
【发布时间】:2015-09-28 15:24:45
【问题描述】:

由于所需的管道组件似乎无法访问数据库以获取消息的详细信息,因此我计划使用主机限制来限制 BizTalk 在接收位置处理的文件数量。我希望能够指示应在 Y 秒(或任何其他可行的时间跨度)内处理 X 条消息。有谁知道可以使用哪些限制设置来强制执行此行为?

我知道如何设置值,但是我找不到最佳配置。

(注意:其中一种解决方案也可能会调整管道,但它包含无法调整的第三方组件。)

【问题讨论】:

  • 你用的是什么适配器?
  • 我目前正在使用文件适配器(开箱即用)从 DFS 网络位置获取文件。

标签: biztalk biztalk-2010 throttling receive-location


【解决方案1】:

来自How BizTalk Server Implements Host ThrottlingBizTalk 看

  • 正在使用的内存量(系统范围内存和主机进程内存)。
  • 正在传递或处理的进程中消息的数量(出站限制的阈值)。
  • 正在使用的线程数。数据库大小,由所有主机的队列表中的项目数以及假脱机和跟踪表中的项目数来衡量。
  • 并发数据库连接数。
  • 消息发布率(入站) 以及交付或处理(出站)。

限制入站的唯一因素是消息发布速率,但在管道/端口处理完消息后这是可能的,因此在这种情况下可能没有任何用处,但您必须对其进行测试。

您可能希望在它自己的主机下设置该进程,因此如果它达到限制阈值,它也不会限制其他所有内容。

如果可能,您应该将组件移动到发送端口管道,因为限制发送端口更加可控。一种方法是将发送端口设置为有序传递,尽管这可能会导致积压,尤其是在您收到暂停消息时。

【讨论】:

  • 我已经计划将设置设置为专用主机。然而,有一个接收位置、发送端口、接收位置来解决这个问题感觉很尴尬。然而,这听起来是一个解决方案,所以我会尝试设置一些发送端口的限制,看看这对解决方案有何影响。
【解决方案2】:

我认为您最直接的方法是编写自定义适配器。不幸的是,开箱即用的文件适配器不直接支持限制/轮询间隔,如果它通过 ADO.NET 直接访问数据库,我认为已经给出的建议不会直接影响自定义管道处理(但它可以试试看不会有什么坏处)。您可以在文件适配器设置上设置 BatchSize 属性,但即便如此,也没有什么能阻止它一遍又一遍地尽可能快地提交该批量大小。

可以创建自定义适配器以等待一段时间,然后再提交其他文件进行处理。你可以基于SDK File Adapter sample

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-06
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    相关资源
    最近更新 更多