SQL Server DB 基于多核CPU的设置

随着多核CPU的普及, SQL SERVER在处理并发情况会碰到这样一个情况: 一旦有个复杂查询占用了CPU, 则所有的CPU都会被Block住, 导致SQL Server的等待队列很长, 在这种情况下, CPU使用率也许不高, 磁盘IO的情况也很好, 但用户就是感觉慢.

 

SQL Server 2008 有一个参数(以前的版本有没有未测试), 可以设置多少个CPU去处理一个查询, 这样, 剩下的CPU可以去处理其它的复杂查询.

 

脚本如下

 

sp_configure 'show advanced options', 1;

GO

RECONFIGURE WITH OVERRIDE;

GO

sp_configure 'max degree of parallelism', 4;

GO

RECONFIGURE WITH OVERRIDE;

GO

 

注: 文章中的CPU是以核来算, 例如, 8个8核CPU, 就是64个CPU.

posted on 2010-11-05 10:28  黑暗之眼  阅读(1955)  评论(2编辑  收藏  举报