SQL Server性能下降 - 高惰性写入/秒和空闲列表停顿/秒

时间:2017-11-09 19:13:17

标签: sql-server sql-server-2008 database-performance

我正在支持我们的客户,他们的企业版我们的Web应用程序位于他们所在位置的虚拟化服务器上​​。他们有3个Web服务器和1个DB服务器。所有4台服务器均使用vCenter进行虚拟化,并安装了Windows Server 2008 R2。

数据库服务器运行带有36 GB RAM的SQL Server 2008 R2,以及SAS设置上的数据库,日志,备份等(总共7个虚拟)的单独驱动器,尽管备份发生在SSD驱动器上。

Web服务器每个都是4 GB RAM并且负载均衡。我们有一些流程可以将来自第三方的数据导入到我们的最终用户应用程序中,但最近其中一个流程已经在服务器上出现瓶颈并导致问题。 需要花费数小时的过程需要数天,而且经常会失败,所以我必须在SQL中手动排队进程并让它运行。

经过多次调查,我对这个问题感到茫然。我已经确认所有Web应用程序设置都与我们的托管环境相同,托管环境的客户数量远大于此,我们的数据库服务器更加强大,但服务器上的整体负载非常大。

我所包含的一些指标让我担心服务器上实际发生的进程。我在下面列出了这些,但我特别担心Lazy写入/秒和空闲列表停顿/秒,对我来说这表明进程在内存中重载服务器并将页面转储到硬盘上,这会驱动降低性能。它是否正确?谁能给我一些关于从哪里去的想法?客户肯定不喜欢向数据库服务器添加更多资源,因此我希望能够明确地证明问题所在。

由于这是在虚拟化环境中,也可能是资源恰好被共享,降低了VM的性能并导致其被刷新到驱动器?任何帮助将不胜感激。我的硬件体验已达到极限,我不是DBA,因此我试图了解SQL Server背景中实际发生的事情。

谢谢!

Buffer cache hit ratio           1363657/sec
Buffer cache hit ratio base      1363687/sec
Page lookups/sec                 28043473454/sec
Free list stalls/sec             621/sec
Free pages                       1438/sec
Total pages                      3932160/sec
Target pages                     3932160/sec
Database pages                   3846600/sec
Reserved pages                   0/sec
Stolen pages                     84122/sec
Lazy writes/sec                  77354/sec
Readahead pages/sec              15305687/sec
Page reads/sec                   16859120/sec
Page writes/sec                  7751703/sec
Checkpoint pages/sec             5408194/sec
AWE lookup maps/sec              0/sec
AWE stolen maps/sec              0/sec
AWE write maps/sec               0/sec
AWE unmap calls/sec              0/sec
AWE unmap pages/sec              0/sec
Page life expectancy             16434/sec

1 个答案:

答案 0 :(得分:0)

从本质上讲,内存膨胀和共享内存/磁盘是这里的问题。我看不到VMWare主机,但是它正被用于扩大规模并使用影响计算机性能的资源。我将答案链接到DBA堆栈交换,这有助于我在评论中识别问题。