如何定位优化慢SQL语句

2022年5月17日 27点热度 0人点赞

      应用服务器响应慢,造成用户无法流畅和正常的浏览页面,严重影响用户使用体验和企业的正常业务。造成应用服务器响应慢的原因多种多样(Web应用过程响应慢、数据库响应慢、外部应用响应慢等……)听云Server能够找出应用服务器响应慢的引发原因,准确定位到SQL语句,对其执行策略进行优化,帮助运维和开发人员迅速定位具体问题并解决。具体操作如下:

4如何定位Web应用响应慢原因

工具/原料

  • 听云账号
  • 响应慢的服务端应用

方法/步骤

  1. 1

    登录控制台,选择需要关注的应用。

    在情报汇总页面中的应用服务器响应时间图表中可以看到各个类型的响应时间堆叠图,从图中各区域面积大小可以看出造成响应时间慢的具体原因,然后可以进入相应模块具体分析。以此账号为例可以看出数据库调用时间是造成应用服务器响应时间慢的主要原因,下面可以进入数据库模块具体分析。

  2. 2

    点击数据库模块,首先看到数据库一览列表,在这里显示当前应用所有的SQL操作,并且支持包括按耗时、平均响应时间、吞吐率、应用过程响应时间的多种排序方式。

    页面右侧图表是根据不同排序方式展示出的数据库性能图,包括TOP5 最耗时SQL堆叠图,数据库吞吐率堆叠图,数据库响应时间曲线图。

  3. 3

    点击数据库一览中的SQL操作,可以查看该操作下的数据库响应时间和吞吐率曲线图以及调用者耗时百分比图。从数据库响应时间和吞吐率曲线图可以看出SQL调用次数和SQL平均响应时间的关系,调用者耗时百分比图表可以看到SQL操作在每个调用者耗时占比以及平均耗时等信息(这里的调用者指的是Web应用过程或后台服务),点击图表,会跳转到web应用。

  4. 4

    下方的慢SQL追踪列表中展示出执行时间超过设置阈值的SQL信息。

    (若想设置或者变更慢SQL阈值,点击设置,勾选启用慢SQL查询跟踪并在慢SQL查询跟踪阈值输入即可)

  5. 5

    点击慢SQL追踪列表中的SQL信息,可以进入相应的SQL分析详情页。

    此页面中可以看到慢SQL追踪散点图,展示出了一段时间内该SQL被调用的所有次数,同时散点图下方展示出了调用时间、最长查询时间、实例信息、调用者等这些在这条SQL被调用时的信息详情。( 散点图中的每个点都是可以点击的,点击后页面会展示该数据点的详细追踪结果)

    下方还可以看到完整的SQL语句,方便对SQL语句进行调整修改。

  6. 6

    如果设置了慢查询时进行执行计划分析的阈值,并且本次慢查询触发了阈值,此处将显示对该SQL语句的查询执行计划的结果。

    对于一个有经验的DBA,当他看到详尽的执行计划分析后就可以确定是否需要对其进行诸如添加索引等优化策略。

  7. 7

    下方的Trace详情模块展示了这一条SQL的调用堆栈信息,包括具体的类名、方法名以及代码行等信息,从这一模块能够使我们了解到具体是哪行代码调用了这一条SQL,并且导致了数据库响应慢。

  8. 8

    通过以上几个部分的分析后,可以确定是否需要对SQL语句进行优化,是否需要对执行策略进行优化,从而提升数据库的响应时间。

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论