若要识别 BizTalk 跟踪(BizTalkDTADb)数据库中的瓶颈,请执行以下步骤:
确保 SQL-Agent 服务正在运行。
确保存档/清除作业正在运行并成功完成。
确保TrackedMessages_Copy_BizTalkMsgBoxDB作业正在运行并成功完成。
验证 DTADb 存档和数据库增长是否有足够的可用磁盘空间。
使用专用主机进行跟踪,并在高负载情况下测量主机队列长度性能计数器。
检查 Spool 表大小性能计数器,以查看随时间变化的增长趋势。
检查存档/清除作业的执行时长,以确定是否存在过长的执行情况。
检查托管 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