慢日志

慢日志问题极大地影响数据库的稳定性,当数据库出现负载高、性能抖动等问题时,数据库管理员或开发首先会查看是否有慢日志在执行。数据库自治服务DAS(Database Autonomy Service)支持慢日志分析功能,会统计并分析数据库中执行时间超过阈值的SQL语句,帮助您快速定位并解决数据库性能问题,提高系统的稳定性和可靠性。

背景信息

慢日志由数据库内核输出,不同数据库引擎的配置参数及阈值不相同,具体的配置参数和阈值请参见对应数据库引擎的官方文档。

操作步骤

  1. 登录DAS控制台

  2. 在左侧导航栏中,单击智能运维中心 > 实例监控

  3. 找到目标实例,单击实例ID,进入目标实例详情页。

  4. 在左侧导航栏单击请求分析 > 慢日志

  5. 选择需要查看的时间段,查看该时间段内慢日志趋势事件分布慢日志统计慢日志明细

    说明

    选择时间范围时,查询结束时间需晚于查询开始时间,且查询开始时间和查询结束时间的间隔不能超过7天,您可以查询最近一个月内的慢日志信息。

    • 节点列表区域,查看每个节点的慢请求数量。

    • 事件分布区域:

      可以查询到指定时间范围内的慢日志事件,单击后可查询事件详情。

      image

    • 您可以在慢日志趋势图中选择某个时间点,查看该时间点的慢日志统计慢日志明细

      说明

      如果慢日志语句内容过长,没有完整展示,您可以将鼠标指针放置在对应的慢日志语句上,系统将以弹框的形式展示完整的慢日志语句。

    • 单击image,可以将慢日志信息保存到本地查看。

    • 单击image,可携带当前已选择和输入的参数,跳转至OpenApi控制台,进行API调试。

    • 慢日志统计区域:

      • 在列表上侧,可选择过滤条件,对数据进行筛选,不同的数据库引擎可筛选条件不同。

      • 单击目标SQL模板SQL ID列的数据ID,可查看包含用户分布、客户端分布和指标趋势的相关性及明细列表。

      • 单击目标SQL模板操作列的优化,在弹出的SQL诊断优化对话框中,查看SQL诊断结果。

        若您采纳诊断建议,单击页面右上角的复制,并将优化后的SQL粘贴到数据库客户端或DMS上执行,若不采纳诊断建议,可直接单击取消结束诊断。

        说明

        DAS会根据SQL的复杂程度、对应表的数据量、数据库负载等进行SQL诊断,诊断建议的返回时间可能会超过20秒。完成诊断后,SQL诊断引擎会给出诊断结果、优化建议和预期优化收益,您可以根据诊断结果确认是否采纳建议。

      • 单击目标SQL模板操作列的限流,在SQL限流页面配置限流参数,对目标SQ进行限流。详细操作请参见SQL限流

      • 对于PolarDB MySQL数据库实例,单击目标SQL模板操作列的IMCI,查看列存索引(IMCI)的相关文档。

        说明
        • PolarDB MySQL数据库实例未购买列存索引节点,且慢日志的最大执行时间超过20秒,最大扫描行超过20万行时,显示IMCI按钮。

        • 对于大数据量复杂查询,推荐使用列存索引(IMCI)提升查询性能。

    • 慢日志明细区域,单击目标SQL操作列的优化限流,也可对目标SQL进行SQL诊断优化SQL限流