BizTalk Server 设计为持久性系统。 对于高吞吐量方案,MessageBox 和 BizTalk 跟踪数据库可能会遇到严重的争用。 此问题可能会因磁盘缓慢而加剧。 如果磁盘速度缓慢(平均大于 15 毫秒,Avg. Disk sec/Read 或 Avg. Disk sec/Write),可能会导致 SQL Server 保留更长时间的锁定(高锁等待时间和高锁超时)。 反过来,这会导致 MessageBox 表(Spool 和应用程序队列)增长,从而导致数据库膨胀和限制。 这种情况最终会导致整体可持续吞吐量降低。
注释
有关确定服务器是否有磁盘瓶颈的信息,请参阅 Windows 性能监视器 (https://go.microsoft.com/fwlink/?LinkID=204007)。 Windows 性能监视器是 Microsoft 管理控制台 (MMC) 的一个管理单元插件,提供分析系统性能的工具。
若要避免磁盘冲突,请执行以下操作:
步骤 | 参考文献 |
---|---|
使用 Raid10/0+1 磁盘配置。 | 避免瓶颈的最佳做法 |
如果可能,请在高速 SAN 上部署数据库。 如果多个数据库共享相同的磁盘,我们建议在单独的 专用 磁盘上配置它们。 此外,建议将 MessageBox 数据库的 MDF 和 LDF 文件分离到单独的磁盘上。 | 优化 Databases2 的文件组 |
请考虑为 TEMPDB 数据库分配多个文件,因为这样可以显著减少磁盘争用,并将负载分散到多个数据文件中。 | 预配置数据库优化 2 |
请考虑将 MessageBox 数据库分离到独立于 BizTalk 跟踪数据库的专用服务器上。 | 配置后数据库优化 2 |
将 MSDTC 日志文件目录分配给单独的专用驱动器。 | 优化作系统性能 |
如果由于 PageFile 或 MSDTC 日志而在本地驱动器上存在争用,请尝试将 PageFile 和/或 MSDTC 日志移动到单独的驱动器。 | 避免瓶颈的最佳做法 |
优化跟踪数据库以进行写操作。 | 如何识别跟踪数据库中的瓶颈 |
优化 MessageBox 数据库以执行读取和写入作业。 | 如何识别 MessageBox Database1 中的瓶颈 |
如果 BizTalk 主机实例使 CPU 饱和,请考虑将发送、接收、处理和跟踪功能分离到多个主机中。 这会配置系统,以便业务流程功能在单独的专用服务器上运行,以提高整个系统吞吐量。 | 优化 BizTalk Server 性能 |
如果部署了多个业务流程,请考虑在不同的专用业务流程主机中登记它们。 这会隔离不同的业务流程,并阻止在同一物理地址空间或同一服务器上争用共享资源。 | 优化 BizTalk Server 性能 |
请考虑使用 Windows 性能监视器诊断磁盘争用问题。 | Windows 性能监视器 |
有关磁盘性能分析的详细信息,请参阅以下资源:
“SQL Server 2008 中排查性能问题”的“I/O 瓶颈”部分。