首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server 2008突然高IO失速和死在水里的查询

Server 2008突然高IO失速和死在水里的查询
EN

Stack Overflow用户
提问于 2018-04-19 16:22:29
回答 2查看 375关注 0票数 2

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。

会很感激你的指点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-02 18:54:45

进一步的研究指向VMWare。机器分配了304 to的RAM,其中264 to分配给SQL Server。然而,底层主机在RAM上被超额承诺了大量。我们怀疑,随着页面寿命的下降,以及其他VM也需要真正的RAM,我们怀疑会受到打击。

谢谢约翰。

票数 0
EN

Stack Overflow用户

发布于 2018-04-19 18:57:09

这是我的方法

1.)尝试消除存储issues.We曾经有存储问题(SAN),根本原因似乎是一些HBA.You可以进一步检查您的存储是否在可接受的范围内执行

您应该从下面的计数器开始,看看它们是否小于15 if。

平均磁盘秒/读-是从磁盘读取数据的平均时间,以秒为单位。 平均磁盘秒/写-是将数据写入磁盘的平均时间,以秒为单位。

这里有更多信息:https://www.mssqltips.com/sqlservertip/2460/perfmon-counters-to-identify-sql-server-disk-bottlenecks/

2.)一旦您消除了存储问题,您可以进一步检查SQLSERVER是否是唯一导致IO激增的原因,或者是否有任何其他导致IO.You的应用程序可以使用资源监视器来找到这个

3.)如果您已经到达这里,SQLSERVER可能是具有以下步骤的culprit..Go,并尝试遵循相同的顺序,并查看每个步骤之后是否仍然存在问题。

记住,高IO可能是由于

  • 陈旧的状态和缺少的索引:您可能没有定期更新状态,或者某些类型的查询可能需要更频繁的索引重新构建/状态更新。
  • 收集导致高IO的查询并尝试对其进行调优,您可以观察已完成的读取次数,并尝试添加索引以尽量减少读取次数。
  • 进一步检查内存压力,有时内存使用率过高会导致缓冲池刷新,然后通过查询到disk..You可以查找一个名为PLE的计数器,看看什么对您的环境有好处。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49925882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档