Server 2008企业SP4 0.0.6547.0 x64运行在Windows2012R2修补电流上。一个虚拟机运行在思科UCM刀片和6.0更新3加上补丁。用于存储的灵活的CS700 SAN。
这是一个具有12 vCPU的大型OLTP服务器。正常的CPU使用率徘徊在6-11%左右。
所发生的情况是,在没有警告的情况下,IO失速时间将通过顶部(2000-1000 is ),大多数查询将停止返回结果。Adam的sp_whoisactive将显示数十个活动查询。中央处理器在90+%。
SAN显示几乎为零活动,而在同一SAN上的所有其他VM都运行得很好。
我们看到了巨大的阻塞,因为停滞的进程持有块,一些超时和睡眠与挂在SPID上的块。杀死问题中的SPID提供了暂时的缓解,但几秒钟后我们又回到了我们开始的地方。
提供救济的only功能是服务器的重新启动。
管理层要求有一个真正的根本原因是正确的。去年夏天,当这件事发生在CEO级别时,我们得到了微软的支持,他们对此不屑一顾,并没有提出真正的根本原因。
我不能做的是升级SQL服务器。机器承载一个打包的应用程序,如果我们实现任何较新的Server版本,则包发行者拒绝支持它们的软件。我非常想去2014/2016/2017年度,我会觉得这会解决这个问题和其他问题。
无论如何,我搜索了bug报告,没有看到任何匹配的内容。
有人遇到过这个问题吗?如果是的话,你找出了根本原因吗?我有一种直觉,认为无论是SQL 2008、Windows2012R2还是它们之间的交互方式都存在缺陷。但我不想在没有证据的情况下把它写进RCA。
会很感激你的指点。
发布于 2018-05-02 18:54:45
进一步的研究指向VMWare。机器分配了304 to的RAM,其中264 to分配给SQL Server。然而,底层主机在RAM上被超额承诺了大量。我们怀疑,随着页面寿命的下降,以及其他VM也需要真正的RAM,我们怀疑会受到打击。
谢谢约翰。
发布于 2018-04-19 18:57:09
这是我的方法
1.)尝试消除存储issues.We曾经有存储问题(SAN),根本原因似乎是一些HBA.You可以进一步检查您的存储是否在可接受的范围内执行
您应该从下面的计数器开始,看看它们是否小于15 if。
平均磁盘秒/读-是从磁盘读取数据的平均时间,以秒为单位。 平均磁盘秒/写-是将数据写入磁盘的平均时间,以秒为单位。
2.)一旦您消除了存储问题,您可以进一步检查SQLSERVER是否是唯一导致IO激增的原因,或者是否有任何其他导致IO.You的应用程序可以使用资源监视器来找到这个
3.)如果您已经到达这里,SQLSERVER可能是具有以下步骤的culprit..Go,并尝试遵循相同的顺序,并查看每个步骤之后是否仍然存在问题。
记住,高IO可能是由于
PLE的计数器,看看什么对您的环境有好处。https://stackoverflow.com/questions/49925882
复制相似问题