文档

SQL洞察

更新时间:

SQL洞察是一种可视化的分析工具和技术,用于深入了解SQL查询的行为和性能特点,可以帮助数据库管理员和开发者了解SQL查询的具体执行情况,如查询的耗时、资源占用等详细信息。通过SQL洞察功能,可以实时监控SQL的运行状态,并基于这些数据做出有针对性的优化决策。MSE提供秒级的SQL洞察,具备完善的SQL审计能力,可以有效地评估系统的整体表现。

背景信息

系统中出现慢SQL可能会导致CPU、负载异常和系统资源耗尽等情况。严重的慢SQL发生后可能会拖垮整个数据库,对线上业务产生阻断性的风险。例如,以下场景需要进行SQL治理:

  • SQL语句处理时间比较长导致线上业务接口出现大量的慢调用,需要快速定位有问题的慢SQL。

  • 在项目初期没有对SQL的性能做好考量,随着业务的发展,用户量级的增加,线上遗留老接口的SQL逐渐成为性能瓶颈。

  • 由于SQL语句涉及多表Join,因此可能会触发慢查询,最终导致DB连接池/Tomcat线程池满,应用整体不可用。

操作步骤

MSE提供的SQL洞察能力,可以观察应用和资源API维度的实时数据,并且通过Top SQL洞察可以定位应用变慢的根因,有效分析SQL语句是否合理,以及SQL执行的并发、RT是否符合系统表现的预期。根据SQL洞察的数据,有效地评估系统的整体表现,从而为流控降级规则的配置提供重要依据。

  1. 登录MSE治理中心控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择治理中心 > 应用治理,然后单击目标应用的资源量卡片。

  3. 在目标应用详情页面的左侧导航栏,单击数据库治理,然后选择基本详情页签。

  4. 查看应用的SQL流量概览Top SQL洞察Druid连接池统计数据

    • SQL流量概览:可以查看应用在具体时间点的QPS和RT等数据。流量概览

    • Top SQL洞察:通过SQL执行的Top SQL洞察列表,直观地展示高RT的SQL语句,可以快速定位应用变慢的根因,并可以通过单击操作下方的SQL防护配置SQL防护规则。具体操作,请参见慢SQL治理Top SQL洞察

    • Druid连接池统计数据:可以查看接口最大连接数、当前连接池中数据库连接的数量和SQL相关数据等信息。Druid连接池指标统计数据

      Druid连接池参数含义如下:

      参数

      描述

      DatabaseName

      数据库名称。

      MaxConnectionSize

      最大连接数。

      QueryTimeout

      SQL请求的超时时长。

      TransactionQueryTimeout

      SQL事务的超时时长。

      ActivePeak

      活跃连接峰值。

      PoolingCount

      当前连接池中数据库连接的数量。

      PoolingPeak

      连接池中数据库连接数量的峰值。

      PoolingPeakTime

      连接池数量处于峰值的时间。

      ErrorCount

      SQL请求的错误数。

      ExecuteCount

      SQL请求的执行数。

      CommitCount

      SQL请求的提交数。

      RollBackCount

      SQL请求的回滚数。

      ActiveConnectionSize

      活跃的连接数。

      WaitThreadCount

      当前等待获取连接的线程数。

相关文档

关于文中涉及的指标详细说明,请参见微服务治理指标类型及说明

  • 本页导读 (1)
文档反馈