度量最大可承受跟踪吞吐量

将业务线解决方案部署到 BizTalk Server 平台上后,应跟踪和监视系统以了解以下内容:

  • 系统的执行情况

  • 可能出现的异常和错误以及出现的原因

  • 作为 BizTalk 解决方案实现的业务流程的当前状态

    对于许多组织来说,出于不可否认的目的,记录流经系统的实际原始消息也很重要。 BizTalk Server 提供了两种类型的跟踪功能,可满足这些要求:

  • 数据跟踪和活动 (DTA) 跟踪。 DTA 将跟踪用户定义的各种消息属性、业务流程调试事件、消息流事件以及服务实例状态。 您可以使用跟踪来查询存储在 BizTalk DTA 跟踪数据库 (BizTalkDTADb) 中的数据。 DTA 跟踪还包括原始消息(称为消息正文)的跟踪,以便防止抵赖和解决问题。

  • 业务活动监视 (BAM) 跟踪。 BAM 将使用用户定义的跟踪配置文件来跟踪业务流程的状态,并将其记录到一组特殊的 BAM 数据库中。

    本主题介绍了 DTA 结构以及确定使用 DTA 的系统可以无限维持的最大可承受吞吐量的系统方法。 尽管 DTA 和 BAM 共享某些结构组件,但本主题仅介绍 DTA 的行为。 有关 BAM 体系结构的信息,请参阅 业务活动监视 (BAM)

DTA 跟踪结构概述

消息通过系统时,各种被跟踪的元素(如消息正文、属性和事件)会通过一系列流程和数据库,最终将这些元素写入 BizTalkDTADb 数据库中。 将这些元素写入 BizTalkDTADb 数据库之后,可以使用跟踪来查询被跟踪的信息。 有关设置和使用 BizTalkDTADb 数据库和跟踪的信息,请参阅 查看历史和跟踪的数据

为了确保系统具有可持续性并以给定的消息流量无限期运行,被跟踪元素到达 BizTalkDTADb 数据库所通过的路径以及数据库本身需要保持良好的状况。 例如,传输过程中在数据库表中生成的消息或在 DTA 生成的消息会导致未绑定数据库文件的增长,如果未得到正确管理,系统将无法承受。

因此,我们首先应了解结构和被跟踪信息通过的路径。 这将公开必须监视的关键资源和性能指标,以确定跟踪系统与流经BizTalk Server引擎的消息流量的同步程度。

下图显示了 DTA 跟踪结构和路径的概况:

DTA 跟踪概述

按照图中编号进程的顺序,所有 DTA 跟踪的数据进出 BizTalkDTADb 数据库的过程如下所示:

  1. BizTalk Server 运行时进程包括一个称为侦听器的组件。 侦听器的工作是在运行时缓存被跟踪的元素,在下一次 MessageBox 数据库往返过程中(例如,将消息传输到 MessageBox 数据库中)将缓存的元素转发到 MessageBox 数据库。 侦听器通过查看跟踪配置(也称为跟踪配置文件,从管理数据库获取并缓存在每个主机运行时实例中以备侦听器使用)来确定要跟踪的元素。

    如上图所示,向 MessageBox 数据库插入了以下两个数据流:

    • 由 Spool 表表示的数据流

    • 由 TrackingData 表表示的数据流

      被跟踪的消息正文将使用这两个数据流。 即,消息正文本身(将它们视为 blob 数据)通过 Spool 表表示的一组表进行处理。 与消息正文相关联的消息事件(例如消息标识符、跟踪消息正文的时间、与消息正文相关联的实例)通过 TrackingData 表进行处理。 未与消息正文跟踪关联的所有被跟踪元素仅通过 TrackingData 表进行处理。

  2. MessageBox 数据库是被跟踪数据的第一站,用于缓存被跟踪的数据,这样,运行时可以继续处理,而不会直接被进一步的跟踪数据处理阻止。

    若要将跟踪的消息正文 (blob) 传输到 BizTalkDTADb 数据库,可在其中查看并存档到更永久的存储,BizTalk Server使用名为 TrackedMessages_Copy_BizTalkMsgBoxDb 的 SQL 代理作业,该作业在每个 MessageBox 数据库服务器上运行。 此作业负责将标记为进行跟踪的消息正文复制到 BizTalkDTADb 数据库。

  3. 除消息正文以外的所有跟踪数据都由一个在一个或多个BizTalk Server主机中运行的名为 TDDS 的服务从 MessageBox 数据库移动到 BizTalkDTADb 数据库。 只要通过 BizTalk Server 管理控制台中的主机属性页将主机配置为主机跟踪,TDDS 子服务就会在该主机的每个实例中运行。

  4. 除非定期清空 BizTalkDTADb 数据库,否则它将无限增长,最终导致运行问题。 称为 DTA 清除和存档 (BizTalkDTADb) 的 SQL 代理作业可执行清空 BizTalkDTADb 数据库的任务。 默认情况下,此作业每分钟运行一次,清除早于用户所配置时间(例如 24 小时)的所有已完成实例。

    有关 DTA 清除和存档作业的详细信息,请参阅 如何配置 DTA 清除和存档作业

  5. 另外,DTA 清除和存档作业还可以将 BizTalkDTADb 数据作为 SQL 备份进行存档,以便更长久地存储和/或脱机查看这些数据。 如果需要查询存档的 BizTalkDTADb 数据,则首先必须在 SQL Server 中将数据还原为新数据库,则可以使用跟踪或 SQL 查询分析器工具查询数据。

本节内容

另请参阅

跟踪数据库的大小调整准则