sp_BlitzFirst - 等待统计数据解释

Ran*_*der 0 sp-blitz sp-blitzfirst

我有一些 BlitzFirst Wait Stats,如下所示: 在此处输入图片说明

这是解释这个的正确方法吗?在 30 秒的样本中,总共有 627.1 秒的 IO_Completion 等待,平均每核心每秒 0.5 次等待,总共 20,723 次等待,每次平均 30.3 毫秒?

另外,我没有使用自启动选项。

Bre*_*zar 5

因此,让我们快速回顾一下您的前两个等待:

  • IO_COMPLETION - 等待写入存储
  • PAGEIOLATCH* - 等待从存储读取

在 30 秒内,您的查询花费了 1,655 秒等待存储。

您的存储可能很慢 - 如果您跳到 sp_BlitzFirst 输出中的下一部分,它将显示 SQL Server 正在等待哪些数据和日志文件,以及等待了多长时间。但是,在您开始玩 Pin The Blame On The SAN Administrator 之前,请考虑:

  • 调整索引和查询以减少从磁盘读取的数据量(我建议为此使用 sp_BlitzIndex 和 sp_BlitzCache,尽管我有偏见(免责声明:我是共同作者之一))
  • 增加内存缓存数据,这将减少PAGEIOLATCH,从而减轻存储压力,并且可能也会减少IO_COMPLETION等待
  • 在存储上花费一大笔钱(您可能会猜到,出于某种原因,上述两个修复程序高于此修复程序)