我们的 MS SQL Server 使用了大约 95% 的 CPU 功率。
服务器(硬件)重启或 SQL-Service 重启后,使用率为 0%,并在 1-3 天的过程中缓慢增加。取决于它的使用量。
当它超过 80% 时,每个查询都非常慢。
我们的网站正在处理大量大型查询,因此其中一些需要 45-60 秒。重启后(CPU使用率低于80%),同一个Query需要11-20秒。
我怎样才能解决这个问题?我在网上读到亲和掩码可以调整 CPU 使用率,但亲和设置被禁用。我无法改变它们。这是因为我只有 1 个处理器吗?
查询本身有很多技巧,但我们的网站和服务相当大,要改变的地方太多了。
他们中的大多数已经得到了很好的优化。
我不能一直重新启动 SQL-Service,即使它只需要 2 秒钟,因为我们有一个警报服务,允许人们呼叫并录制消息,然后将呼叫选定的组并听到录制的消息。
这个系统被数百个搜救队使用,如果 SQL-Service 在警报期间重新启动,它将终止并且不会通知调用它的人。
我找遍了所有地方,除了关于“亲和面具”的东西之外什么也没找到,我无法改变。
必须有一种方法可以清除 CPU 缓存,而不终止当前查询......对吗?
SQL: Microsoft SQL Server 11.0.2100.60
OS: Windows Server 2012 x64
Processor: 2.30 GHz
RAM: 4.00 GB
Run Code Online (Sandbox Code Playgroud)