BizTalk Server 设计为持久性系统,因此,在高吞吐量场景下,MessageBox 可能会遇到严重的争用。 此问题可能会因磁盘缓慢而加剧。 如果磁盘速度缓慢(% 磁盘空闲时间较低),这可能会导致 SQL 保持锁定时间更长(高锁定等待时间和锁定超时),这可能导致 MessageBox 表(Spool 和应用程序队列)增长,从而导致数据库膨胀和限制最终导致整体可持续吞吐量下降。
为了避免磁盘争用,建议执行以下操作:
使用高速(多个轴)磁盘。
如果可能,请在高速 SAN 上部署数据库。 如果多个数据库共享相同的磁盘,建议在单独的专用磁盘上配置它们。 此外,建议将 MessageBox 数据库的 MDF 和 LDF 文件分隔到单独的磁盘上。
如果 SQL 因 CPU 而不足,请考虑将 MessageBox 数据库分离到独立于跟踪数据库的专用服务器上。
为 MessageBox 数据库设置专用服务器后,请考虑通过升级 CPU 和/或添加更多 CPU 来纵向扩展。 监视 SQL-Server 上的本地驱动器,因为 MSDTC 日志保存在本地驱动器上(C:\WINDOWS\system32\Msdtc)。
如果由于 PageFile 或 MSDTC 日志而在本地驱动器上存在争用,请尝试将 PageFile 和/或 MSDTC 日志移动到单独的驱动器。