为什么sql server重启后性能更好

Mat*_*s F 3 sql-server

我们有一个性能问题,我们通过重新启动 sql server 服务解决了这个问题。这显然不是我们想要继续处理性能问题的方式。

当 sql server 在重新启动后性能更好时,对我来说可能的原因是

  1. 错误的缓存查询计划
  2. 记忆压力

为了排除错误的查询计划被缓存的查询计划,我们首先删除了查询缓存

DBCC FREEPROCCACHE;
Run Code Online (Sandbox Code Playgroud)

但问题仍然存在。

我仍然不确定内存压力。页面预期寿命在性能不佳期间下降到 50 秒。但是缓存命中率是 100%。

这些数字是暗示内存压力还是有其他可能的原因?

我在我们重新启动 sql server 服务的地方放了一条漂亮的红线。

在问题发生时,我们没有比平时更多的请求。

在此处输入图片说明

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

Eri*_*ing 5

如果您想知道为什么重新启动后效果更好,您需要跟踪所有这些行都变得波浪状时正在运行的内容。

当您清除计划缓存时,它对当前正在执行的查询没有帮助,也不能保证您缓存的下一个计划会很好。在你确切地知道发生了什么之前,我建议不要这样做。

查看监控工具的一部分,该部分会告诉您遇到问题时正在运行哪些查询。如果您的监控工具没有告诉您这一点,那么就该找一个新的了。

下次发生这种情况时,请使用sp_WhoIsActive 之类的脚本来捕获当前正在执行的查询。