如何识别跟踪数据库中的瓶颈

若要识别 BizTalk 跟踪(BizTalkDTADb)数据库中的瓶颈,请执行以下步骤:

  1. 确保 SQL-Agent 服务正在运行。

  2. 确保存档/清除作业正在运行并成功完成。

  3. 确保TrackedMessages_Copy_BizTalkMsgBoxDB作业正在运行并成功完成。

  4. 验证 DTADb 存档和数据库增长是否有足够的可用磁盘空间。

  5. 使用专用主机进行跟踪,并在高负载情况下测量主机队列长度性能计数器。

  6. 检查 Spool 表大小性能计数器,以查看随时间变化的增长趋势。

  7. 检查存档/清除作业的执行时长,以确定是否存在过长的执行情况。

  8. 检查托管 BizTalk 跟踪数据库的磁盘上的磁盘读/写性能计数器的响应时间(秒)。

    强烈建议降低 DTA 清除和存档作业调用的 dtasp_BackupAndPurgeTrackingDatabase 或 dtasp_PurgeTrackingDatabase 的以下参数的值:

  • @nLiveHours tinyint — 任何早于 (实时小时) + (实时天数)的已完成实例都将连同所有关联的数据一起删除。 默认值为 0 小时。

  • @nLiveDays tinyint — 任何早于 (实时小时) + (实时天数)的已完成实例都将连同所有关联的数据一起删除。 默认间隔为 1 天。

  • @nHardDeleteDays tinyint — 所有早于此标准的数据(即使不完整)都会被删除。 为 HardDeleteDays 指定的时间间隔应大于数据的实时窗口。 数据实时窗口是你想要在 BizTalk 跟踪(BizTalkDTADb)数据库中维护跟踪数据的时间间隔。 超过此间隔的任何内容都有资格在下一个存档中存档,然后清除。 默认值为 30 天。

    应在生产环境中根据数据保留策略设置这些参数,而在性能实验室测试中,我们建议使用如下所示的值:

    declare @dtLastBackup datetime set @dtLastBackup = GetUTCDate()
    exec dtasp_PurgeTrackingDatabase 1, 0, 1, @dtLastBackup

另请参阅

数据库层中的瓶颈