慢日志问题极大地影响数据库的稳定性,当数据库出现负载高、性能抖动等问题时,数据库管理员或开发首先会查看是否有慢日志在执行。数据库自治服务DAS(Database Autonomy Service)支持慢日志分析功能,会统计并分析数据库中执行时间超过阈值的请求,帮助您快速定位并解决数据库性能问题,提高系统的稳定性和可靠性。
前提条件
数据库引擎为:
云数据库Redis版
MyBase Redis
目标数据库实例已接入DAS,并且接入状态显示为连接正常,接入方法详情请参见接入阿里云数据库实例。
背景信息
通过慢日志统计信息,可查看实例的慢日志信息,帮助您方便地找到执行次数最多的慢日志、执行耗时最长的慢日志、平均扫描行数最多的慢日志等。
慢日志由数据库内核输出,不同数据库引擎的配置参数及阈值不相同,具体的配置参数和阈值请参见对应数据库引擎的官方文档。
操作步骤
登录DAS控制台。
在左侧导航栏中,单击实例监控。
找到目标实例,单击实例ID,进入目标实例详情页。
在左侧导航栏单击 。
在慢日志详情页,选择需要查看的时间段,查看该时间段内慢日志趋势和慢日志明细。
说明选择时间范围时,查询结束时间需晚于查询开始时间,且查询开始时间和查询结束时间的间隔不能超过一天,您可以查询最近一个月内的慢日志信息。
您可以在慢日志趋势图中单击某个时间点,查看该时间点的慢日志明细。
说明集群架构与读写分离架构实例支持提供数据节点与代理节点的慢日志详情,以及各个节点的慢请求数量。
您可以单击导出慢日志,将慢日志信息保存到本地查看。
在慢日志明细区域,默认展示所有慢日志的详细信息(执行开始时间、数据库名称、慢查询语句、执行时长、连接数据库的主机地址),您可以单击设置进行过滤。
特殊慢查询语句耗时说明
此类请求为实例内核逻辑,与您的实际请求执行速率无直接关系,您可以忽略下述慢查询语句。
latency:eventloop
云数据库Redis版运行时使用事件驱动模式,一次事件循环包括命令读取、解析、执行和返回结果整个过程。
latency:eventloop
语句的执行时长表示某次事件循环的整体耗时。latency:pipeline
云数据库Redis版支持客户端的Pipeline执行模式,该模式下客户端发送一批命令,待所有命令执行完后批量返回结果。云数据库Redis集群版的代理服务器(Proxy)默认采用Pipeline模式向后端Redis发送请求。
latency:pipeline
语句的执行时长表示pipeline执行模式下,批量执行一个客户端所有请求的整体耗时。latency:fork
latency:fork
语句的执行时长表示执行fork创建子进程所消耗的时间,用户的数据量越大,fork消耗的时间越长。