sql-server – 未启用AWE的32位SQLServer.缓冲区高速缓存命中率高,磁盘读取队列非常高,为什么?

我们在32位 Windows 2003 32位企业版12GB RAM上运行“sqlServer 2005 SP3 32位企业版”,使用RAID5(5个物理磁盘)启用AWE.

我们今天下午调整了AWE以启用并重启sqlserver,希望性能会比旧时更好.

但是我们有些困惑.

在工作日,sqlServer的性能非常糟糕.当我们寻找原因时,我们检查Windows性能计数器.

Avg. disk Read Queue Lenght > 140
Avg. disk Write Queue Length < 1
sql Server Buffer Cache Hit Ratio > 96%
%Processor Time < 30%
sql Server Total Server Memory < 1.8G

显然,如果没有启用AWE,sql Server只能使用少于2G的内存.我的问题是:

>为什么“sql Server Total server Memory”小于2G?我认为sql Server将使用所有2G进程地址空间.这个计数器有什么意义吗?
>我们知道sql server缺乏内存,但为什么“缓冲命中率”高达96?

欢迎任何建议!

解决方法

要利用额外的RAM,您需要启用PAE和AWE.
http://support.microsoft.com/?kbid=283037

此外,您应该允许运行sql服务的帐户“锁定内存中的页面”选项.
http://msdn.microsoft.com/en-us/library/ms190730.aspx

缓冲区高速缓存命中率值不是那么远.您通常需要此号码> 95%.但是,这个计数器很难阅读,因为它很大程度上取决于有多少DB正在进行多少不同的事情以及排队多少I / O(一次性完成). Jonathan Kehayias在Simple-Talk上非常好地讨论了这个话题.

伟大的sql Server争论:Jonathan Kehayias的缓冲区缓存命中率
http://www.simple-talk.com/sql/database-administration/great-sql-server-debates-buffer-cache-hit-ratio/

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...