【问题标题】:BizTalk based webservice incoming location is slow基于 BizTalk 的 web 服务传入位置很慢
【发布时间】:2015-11-03 21:22:53
【问题描述】:

我注意到有时在 Bi​​zTalk WCF-BasicHttp 上构建的传入位置比在业务流程中处理此消息的时间慢 15 秒。

我还发现,在 BizTalkServerIsolatedHost Sampling window duration Rate based Throttling 中为 15 秒。

是否有可能由于某种原因 BizTalk 开始限制传入消息,这就是 web 服务开始响应 15 秒以上的原因。

但是,甚至日志中都没有消息表明 BizTalk 正在节流。

我怎样才能发现 BizTalk 发生了什么?

【问题讨论】:

    标签: biztalk


    【解决方案1】:

    要查看 BizTalk 是否在节流,您必须使用 Perfmon 监视主机节流计数器。

    来自Host Throttling Performance Counters

    访问性能计数器

    使用以下步骤访问性能计数器。

    如果您使用的是 Windows 2008

    1. 单击开始,指向管理工具,然后单击性能监视器。
    2. 在“性能监视器”对话框中,展开“监视工具”,选择“性能监视器”,然后单击“添加”。
    3. 在“添加计数器”对话框中,从“可用计数器”列表中展开 BizTalk:Message 代理性能计数器对象并选择要监视的计数器。
    4. 在“选定对象的实例”列表中,为选定的计数器选择要监视的特定实例,然后单击“添加”。要选择所有可用的计数器实例,请选择。
    5. 添加计数器后,单击“确定”。

    选定的性能计数器出现在性能监视器屏幕上。

    但我认为这不是您的问题,听起来您想要低延迟。为此你需要做Low-Latency Scenario Optimizations

    请注意,总处理时间还包括 IIS 启动 Web 服务并将消息发布到消息框中的时间。因此,您可能还需要在 Web 服务的应用程序池中进行更改以阻止它被拆除。查看设置 Idle Time-out,默认设置为 20 分钟。如果 Web 服务的访问频率低于此时间,并且您想要更快的响应,请将其设置为更高的值。有些人还安排一个任务来定期唤醒 Web 服务。这就是即使 appPool 被回收或重新启动,它也会很快再次启动。

    【讨论】:

    • 我有一个关于低延迟的问题:如果我理解正确,默认是 500 毫秒,所以这是我能得到的最长延迟。但它不应该是 15 秒,对吧?谢谢你的回答,我会设置计数器看看它是否节流。
    猜你喜欢
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多