监控限流

BizTalk Server 的管理包监控与性能相关的计数器,这些计数器显示出 BizTalk Server 的节流状态。 为了更好地了解节流,下面列出了几个关键因素。

  • 速率限制是针对每个主机的,并基于入站消息与出站消息的速率比较。

  • 对于传输节流(MsgBox -> 发送端口或业务流程),入站传输速率是指从消息框接收消息的速率。 出站速率是通过适配器成功传递消息的速率。

  • 对于发布限制(接收适配器业务流程 -> MsgBox), 入站速率指的是从适配器接收消息的速率,而出站速率则指将消息插入 MsgBox 的速率。

  • 除了数据库中的消息总数外,在主机之间不存在限制消息传输的机制。

    有关其他背景信息,请参阅 BizTalk Server 如何在 BizTalk Server 帮助中实现主机限制https://go.microsoft.com/fwlink/?LinkID=155286)主题。

    BizTalk Server 包含自动调节,这有助于根据多种参数防止服务器过载。 导致限制发生的临时重载在操作上不是一个有意义的事件。 然而,在一个稳定的环境中,不应出现持久性的限流,可能意味着基础设施层面存在潜在问题。 管理包通过性能阈值规则主动监测此类持久的限制条件。

    下表中所示,四个利用率/性能跟踪规则监视由四个不同的条件导致的长时间限制。

条件 规则
BizTalk Server 服务进程内存 警告:由于进程内存使用过高,BizTalk 已被限制运行了一段时间。
正在处理的消息数 警告:BizTalk 因高进程内消息计数被限制持续了很长一段时间。
BizTalk Server 进程中的线程数 警告:BizTalk 在高线程数情况下限流了相当长一段时间。
BizTalk Server 数据库队列的大小 警告:BizTalk 在数据库大小较高期间受到限制

这些阈值规则使用基于限流状态指示器的性能计数器的数据提供程序。 有关这些性能计数器的详细信息,请参阅 BizTalk Server 帮助中的 性能计数器https://go.microsoft.com/fwlink/?LinkId=157269)部分。

如果特定数量的样本的平均值超过特定阈值(默认值为 30),则这些规则配置为引发警报。 例如,“警告:由于数据库尺寸过大,BizTalk 受到限制一段时间”是一项用于监视给定计算机中所有 BizTalk Server 进程限制状态的规则。 此规则使用基于限制状态指示器性能计数器“BizTalk:Message Agent-High 数据库大小”的数据提供程序。 如果此性能计数器值为 1,则关联的进程由于数据库大小较高而受到限制。

如果样本的平均值超过 0.6,则上述规则配置为平均获取 30 个样本并引发警报。 由于每个样本的时间间隔为 1 分钟,这意味着在过去的 30 分钟内,该计算机中有一个或多个 BizTalk Server 进程因数据库大小过大而受到限制,在这段时间内其占比达到了 60%。

这种启发式可能不适合你的特定应用程序方案。 根据之前所描述的环境中的历史行为,您应配置这些规则,使其具有正确的值。

  • 调整样本。

  • 调整阈值。

  • 如有必要,请修改提供程序的采样间隔。