今天早上我重新启动了我的专用服务器。结果我的SQL Server非常敏感。我可以查询1.500.000记录表,结果在几秒内返回。
一段时间后,我看到我的CPU开始增长,并且对于相同的查询,它不再那么快30-50秒。
我检查了sp_who2,没有阻塞事务。我重建了索引。没有变化仍然缓慢
解决此类行为的最佳方法是什么?如何提高绩效?
这是我的任务经理
答案 0 :(得分:3)
我正在嗅着内存压力问题。页面缓冲区可能已满或某些其他内存约束被命中。首先监控基本系统性能计数器,如:
从重新启动机器的那一刻开始捕获它们,然后使用excel或其他图形工具绘制它们。添加一些SQL计数器。如果您搜索“sql server performance monitor coutners”,那么在线有很多资源。尝试这里提到的perf计数器:http://www.sql-server-performance.com/2007/performance-monitor-general/
必须及时观察进展情况,并将其与其他指标和相关表现联系起来。
要寻找的另一件事是计划重新编译。检查Profiler跟踪中的SP:Recompile
事件,看看是否与性能下降有关。 - 参考https://support.microsoft.com/en-us/kb/243586
答案 1 :(得分:2)
答案 2 :(得分:0)
听起来可能是磁盘颠覆了这个问题。确保您的SQL endine配置(最大内存)小于系统上可用的(自由)。
是VM吗?数据库是否很大 - 如果它存在,SQL将继续获取内存 - 即使它的硬盘内存 - 这本身就很慢