技术开发 频道

一条sql导致数据库整体性能下降的诊断

    【IT168 技术文档】

    今天早上一来,数据库load就比往常高了许多。想想数据库唯一的变化是昨天早上我曾经重新分析过数据库对象。

    发现数据库load很高,首先看top发现没有特别异常的进程,在数据库中适时抓取正在运行的sql也没发现异常(通常运行时间非常短的sql是不能被抓取到的)。询问相关应用程序人员,最近没有变动。检查应用程序日志发现今天早上跟往常也没有过多登陆和操作。基本上可以圈定是在数据库服务器本身上面。

    但是这个时候我还没有办法确定到底是哪个应用的哪个查询的问题,因为数百个进程的几十台server连着,我不能去及时的追踪。打算等到10点过去后,抽取8/9/10高峰期的整点的statspack出来,跟上星期的这个时间产生的报告对比看看。

    通过对比报告我们发现 CPU TIME 今天一小时内增加了大约1200秒(2,341 - 1,175 )。这是一个重大的变化,很显然是两种可能

    1:今天过多地执行了某些sql

    2:某些sql的执行计划发生变化导致cpu使用过多

    点击查看全文内容

0
相关文章