SQL Server 2008 R2高缓冲区I / O原因


8

我正在尝试对我们的文档管理服务器具有的SQL Server的性能进行故障排除,而今天的性能一直处于历史最低水平。

查看我最近设置的管理数据仓库(MDW),我可以看到缓冲区I / O急剧增加。组合的SQL等待时间在1500-2000毫秒的范围内,这比正常时间(大约500毫秒)要高得多。这种增加的很大一部分是缓冲区I / O。

我不是一名DBA,而是出于必要而这样做,我深深地陷入了深度。

有什么办法可以说明为什么缓冲区I / O大大增加了?这是否可能是由于查询提取大量数据或SQL Server内存限制的配置不正确?有什么我应该关注的特定问题(或一般性问题)或可以查询以帮助解决问题的DMV?

该服务器是SQL Server 2008 R2。它是一个运行两个vCPU和8GB RAM的VM,其磁盘托管在SAN的单独阵列上。

在此处输入图片说明

上面的图形都是使用SQL Server 管理数据仓库生成的。

Answers:


9

如果仔细查看等待图,彩色条实际上表示锁定等待,而不是I / O等待。

另外,I / O图显示系统磁盘使用率增加,而不是SQL Server磁盘使用率增加。

鉴于随着系统利用率的提高,内存图正接近您的系统内存大小,我认为您的实例对于当前的最大服务器内存设置(或根本没有设置最大服务器内存)已被过量使用。更多的SQL Server内存池正在交换到磁盘。

解决方案是降低最大服务器内存设置(如果未设置,则将其设置为适当的值)。请在此处查看我的答案,以获取类似情况下的更深入答案,以及我的博客文章:

我的SQL Server的内存是否过量使用?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.