主机阻止性能计数器

本部分将介绍用于测量影响主机阻止的系统参数的性能监视器计数器。 BizTalk:Message Agent 性能对象类别下的每个主机实例都可以访问以下性能计数器:

计数器 说明
Active instance count 内存中处于活动状态的服务实例数。 对于业务流程引擎,服务实例表示每个正在运行的业务流程调度实例。 对于端点管理器,服务实例可以对应于单个无状态消息,也可以对应于有状态消息的集合。 注意: 有状态实例是维护与实例关联的消息的某些状态信息的实例。 属于有状态实例的各消息在某种形式上是彼此相关的。 例如,维护有关排序的信息的按序发送端口被视为有状态实例。 大多数消息传送方案都涉及无状态实例,在这些实例中,将对消息进行完全相互独立地处理。 每个无状态实例都对应于 EPM 内的单个消息。
Database session 正在使用的并行 MessageBox 数据库连接数。
Database session threshold 并行数据库会话的当前阈值。 这最初设置为“设置仪表板”中“基于资源的限制”选项卡上的“数据库连接”值。 此值将根据进程的数据库会话使用率自动进行优化。 在任何时间,只要并行数据库会话数超过此阈值,则会进行主机阻止。
数据库大小 此进程已发布的数据库队列中的消息数。 此值按所有主机队列表中的项数以及后台处理表和跟踪表中的项数来衡量。 如果要将某一进程发布到多个队列,则此计数器将反映所有队列的加权平均值。 注意: 如果重启主机,内存中保存的统计信息将丢失。 由于涉及一些系统开销,因此只有至少存在 100 个发布(使用重新启动的主机进程内全部发布的 5%)时,BizTalk Server 才会恢复收集统计信息。
High database session - 0:正常
- 1:数据库会话计数超过阈值
High database size - 0:正常
- 1:数据库大小已超过阈值

如果发生 针对数据库阈值中的消息计数 列出的任一条件,则此计数器将设置为值 1。 如何修改基于资源的限制设置 提供有关此限制阈值的信息。
High in-process message count - 0:正常
- 1:进程内消息计数超过限制
High message delivery rate - 0:正常
- 1:消息传递速率超过消息处理速率
High message publishing rate - 0:正常
- 1:发布请求速率超过完成率
High process memory - 0:正常
- 1:进程内存超过阈值
系统内存过高 - 0:正常
- 1:系统内存超过阈值
High thread count - 0:正常
- 1:线程计数超过阈值
In-process message count 已传送到 XLANG 引擎或出站消息引擎但尚未处理的内存中消息数。
In-process message count threshold 进程内消息数的当前阈值。
Message delivery delay (ms) 对每个消息送达批规定的以毫秒计的当前延迟时间(只在阻止消息送达的情况下适用)。
Message delivery incoming rate 在给定的示例间隔中每秒传送到业务流程引擎或消息引擎的消息数。
Message delivery outgoing rate 在给定的示例间隔中业务流程引擎或消息引擎每秒处理的消息数。
消息传递限制状态 指示系统是否要阻止消息送达(影响 XLANG 消息处理和出站传输)的标志。

- 0:不限制
- 1:由于消息传递速率 (输入速率超出输出速率)
- 3:由于进程内消息计数高而导致限制
- 4:由于进程内存压力而受到限制
- 5:由于系统内存压力而受到限制
- 9:由于线程计数较高而导致限制
- 10:由于交付时用户替代而导致的限制
Message delivery throttling state duration 从系统进入此状态之后的秒数。 如果主机处于阻止状态,则为已阻止的时间;如果主机未进行阻止,则为应用阻止之后的时间。
Message delivery throttling user override 此计数器反映了引擎监视的用户替代,其解释如下所示:

- 0:无替代
- 1:始终限制消息传递
- 2:不限制消息传递

可以在“设置仪表板”的“基于速率的限制”选项卡中配置此替代。
Message publishing delay (ms) 对每个消息发布批规定的以毫秒计的当前延迟时间(只在阻止消息发布并且阻止批的情况下适用)。
Message publishing incoming rate 在给定的示例间隔中每秒要发送到数据库以进行发布的消息数。
Message publishing outgoing rate 在给定的示例间隔中每秒已在数据库中实际发布的消息数。
Message publishing throttling state 指示系统是否要阻止消息发布(影响 XLANG 消息处理和入站传输)的标志。

- 0:不限制
- 2:由于消息发布速率 (输入速率超出输出速率)
- 4:由于进程内存压力而受到限制
- 5:由于系统内存压力而受到限制
- 6:数据库增长导致的限制
- 8:由于会话计数高而导致限制
- 9:由于线程计数较高而导致限制
- 11:由于发布时用户替代而导致的限制
Message publishing throttling state duration 从系统进入此状态之后的秒数。 如果主机处于阻止状态,则为已阻止的时间;如果主机未进行阻止,则为应用阻止之后的时间。
Message publishing throttling user override 此计数器反映了引擎监视的用户替代,其解释如下所示:

- 0:无替代
- 1:始终限制消息发布
- 2:不限制消息发布

可以在“设置仪表板”的“基于速率的限制”选项卡中配置此替代。
Physical memory usage (MB) 在计算机上所有进程要使用的物理内存量(以 MB 计)。
处理内存使用率 (MB) 进程内存占用量(以 MB 计)。 这是进程的工作集大小以及为进程页文件分配的总空间大小的最大值。
Process memory usage threshold (MB) 进程内存占用量的当前阈值(以 MB 计)。 这最初设置为“设置仪表板”中的“进程”虚拟值。 如果指定了百分比值,则根据要提交的可用内存来计算此值。
Service class ID 此性能计数器实例对应的服务类别 GUID 的初始部分的十进制值。 一个进程可以作为多个服务类别的宿主,而消息代理性能计数器则显示最频繁使用的服务类别的数据。
Thread count 进程内正在使用的线程数。
Thread count threshold 进程内的线程数的当前阈值。 这最初设置为“设置仪表板”中“基于资源的限制”选项卡上的“线程”值。 此值将根据当前进程的线程要求自动进行优化。 在任何时点,只要进程中的线程数超过此阈值,则会进行主机阻止。
Total batches committed 服务类别提交的数据库批数。
Total messages delivered 传送到业务流程引擎或端点管理器 (EPM) 的出站消息数。
Total messages published 已发布的消息数。

注意

BizTalk:Message 代理性能计数器用于明确分析主机的限制行为,因此,除非指定的主机正在主动处理文档,否则不会捕获数据。 此行为设计用于在阻止活动未发生时使用性能监视器来防止占用系统线程。

访问性能计数器

依照下述步骤访问性能计数器。

如果您使用的是 Windows 2008

  1. 单击“开始”,指向“管理工具”,然后单击“性能监视器”。

  2. “性能监视器”对话框中,展开“监视工具”,选择“性能监视器”,然后单击“添加”。

  3. 在“ 添加计数器 ”对话框中的 “可用计数器 ”列表中,展开 BizTalk:Message 代理 性能计数器对象,然后选择要监视的计数器。

  4. “所选对象的实例 ”列表中,选择要针对所选计数器监视的特定实例,然后单击“ 添加”。 若要选择所有可用的计数器实例,请选择“ <所有实例>”。

  5. 添加计数器后,单击“ 确定”。

    所选性能计数器显示在性能监视器屏幕上。

另请参阅

限制设计建议
BizTalk Server 如何实现主机限制
使用设置仪表板进行 BizTalk Server 性能调整