更新时间:2024-12-20 GMT+08:00
分享

查看或下载FlexusRDS for MySQL实例慢日志

操作场景

慢日志用来记录执行时间超过当前慢日志阈值“long_query_time”(默认是1秒)的语句,您可以通过慢日志的日志明细、统计分析情况,查找出执行效率低的语句,进行优化。您也可以下载慢日志进行业务分析。

目前支持查看近7天的慢日志。

FlexusRDS for MySQL支持以下执行语句类型:

  • 全部
  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • CREATE

参数解析

表1 MySQL慢日志相关的参数解析

参数名称

说明

long_query_time

大于等于此时间记录慢日志,精度可达微秒级别,默认为1s,当SQL语句执行时间超过此数值时,就会被记录到慢日志中。

建议设置为1s。注意:锁等待时间并不计算在执行时间内。

log_queries_not_using_indexes

是否记录未使用索引的查询,默认OFF。

log_throttle_queries_not_using_indexes

每分钟允许写入到慢日志的未使用索引的语句,默认为0。

查看日志明细

  1. 在实例列表,选择目标实例,单击实例名称。
  2. 选择“日志”,在“慢日志”页签下,查看慢SQL语句的详细信息。

    • 慢日志功能支持查看指定执行语句类型或时间段的慢日志记录。
    • 只有SELECT语句会返回“结果行数”,INSERT、UPDATE、DELETE、CREATE语句默认“结果行数”为0。
    • 慢日志功能支持查看指定数据库名称(仅支持精确搜索,不能包含特殊字符)的慢日志记录。
    • 慢日志为记录执行完毕且执行耗时超过阈值的语句,没有执行完毕的语句是不会记录的。
    • 针对当前的慢日志功能, 阈值参数“long_query_time”可以控制SQL响应时间为多少而生成一条慢日志记录,只会影响新增的部分。比如慢日志阈值参数为1s时,上报了超过1s的慢日志记录,后续调整为0.1s, 原有上报的日志仍然会展示。
    • 慢日志通过日志加载的方式展示,在查询时间范围内日志条数没有上限,不显示日志总条数。
    • 如果SQL语句单行长度超过10KB或总行数超过200行,当前会对此类语句进行截断。查看慢日志明细时,SQL语句可能为特殊处理后的不完整语句,仅供参考。

下载慢日志

  1. 在实例列表,选择目标实例,单击实例名称。
  2. 选择“日志”,在右侧单击“日志下载”。
  3. 在弹框中,选择“慢日志”。
  4. 对状态为“准备完成”的日志文件,单击操作列中的“下载”,下载慢日志。

    图1 下载慢日志
    • 系统会自动加载下载准备任务,加载时长受日志文件大小及网络环境影响。
      • 下载准备过程中,日志文件状态显示为“准备中...”。
      • 下载准备完成,日志文件状态显示为“准备完成”。
      • 下载准备工作失败,日志文件状态显示为“异常”。

      “准备中...”和“异常”状态的日志文件不支持下载。

    • 当前页面支持下载的文件最大不超过40MB,时间范围是从当前时间往前计算,直至文件大小累计为40MB。
    • 当需要下载的文件大于40MB时,即只可能比40MB大一点的日志文件,不会产生例如100MB或200MB的日志文件。需要通过客户端工具OBS Browser+进行下载。具体操作可参考方式1:使用OBS Browser+下载,通过在外部桶中搜索日志文件名称进行下载。
    • 下载链接有效期为5分钟。如果超时,提示用户下载链接已失效,是否重新下载。如果需要重新下载,单击“确定”,否则单击“取消”。
    • 下载的日志仅包含主节点的日志。

相关文档