我们有一个 SQL Server 2008R2 标准版,其中包含多个数据库,这些数据库属于 16 核服务器上的不同应用程序。
最近推出的一个应用程序会定期执行昂贵的查询,导致 CPU 使用率达到 100%。当然,其他应用程序正在报告性能问题。
资源调控器似乎是控制流氓应用程序的合适工具,不幸的是它仅在企业版中可用。
由于其他应用程序相当简单,我试图通过降低实例的“最大并行度”来控制问题,以便单个查询无法降低所有内容。虽然这成功地将 CPU 负载保持在 50%,但出人意料地没有阻止其他应用程序陷入困境。
现在我们已决定将新应用程序的数据库移动到一个专用实例,但此实例的最佳配置是什么?我应该保留 MAXDOP 设置,使用 CPU 亲和掩码还是有其他选项来限制我不知道的 CPU 使用率?