测量最大可持续追踪吞吐量

将业务线解决方案部署到 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)是通过 "缓存表" 所表示的一组表进行处理的。 与消息正文关联的消息事件(例如,跟踪消息正文时的消息标识符、与消息正文关联的实例)通过 TrackingData 表进行处理。 所有未与消息正文跟踪关联的跟踪元素仅通过 TrackingData 表进行处理。

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

    为了将跟踪的消息正文(blob)转移到 BizTalkDTADb 数据库,使其可以查看和存档以便于永久存储,BizTalk Server 使用一个名为“TrackedMessages_Copy_BizTalkMsgBoxDb”的 SQL 代理作业,它在每个 MessageBox 数据库服务器上运行。 此作业负责将标记为跟踪的消息正文复制到 BizTalkDTADb 数据库。

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

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

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

  5. (可选)DTA 清除和存档作业还可以将 BizTalkDTADb 数据存档为 SQL 备份,以便长期存储和/或脱机查看数据。 如果需要查询存档的 BizTalkDTADb 数据,必须先将其还原为 SQL Server 中的新数据库,然后使用跟踪或 SQL 查询分析器对其进行查询。

本节中

另请参阅

跟踪数据库规模调整准则