您可以在云数据库Redis版的控制台查看慢请求日志,找到解决性能问题、优化请求的线索。

前提条件

  • Redis实例的引擎版本为4.0或以上,且实例的小版本为最新。
    说明 如果实例版本不符合条件,您可以评估业务兼容性后升级实例版本,详情请参见升级小版本升级大版本
  • Redis实例为社区版或企业版(性能增强系列)。

背景信息

Redis的慢日志会记录执行时间超过指定阈值的请求,慢日志分为数据节点慢日志和代理慢日志。
说明 当Redis实例为标准架构时,仅包含数据节点慢日志。
慢日志类型 说明 相关Redis参数
数据节点慢日志
  • 数据节点慢日志中统计的命令执行时间仅包含命令在数据节点中的执行时间,不包含数据节点与代理或客户端的通信时间以及命令在单线程队列上的排队延迟等。
  • 由于Redis性能出色,通常情况下,数据节点慢日志的数量较少。
  • slowlog-log-slower-than:设置数据节点慢日志阈值,默认为10000微秒(即10毫秒)。
    说明 通常情况下您感知到的延迟实际会高于本参数设置的值,因为感知时间中包含了数据在客户端、代理、数据节点之间传输和处理所消耗的时间。
  • slowlog-max-len:设置最大慢日志条目数,默认为1024。

参数设置方法请参见参数说明及设置方法

代理慢日志
  • 代理慢日志中统计的命令执行时间从代理向数据节点发出请求开始,到代理从数据节点收到相应的回复为止,包含了命令在数据节点中的执行时间、数据在网络中的传输时间以及命令的排队延迟等。
  • 代理慢日志的保留时间为72小时,无数量限制。
  • 由于代理慢日志反映的延迟与您在应用端感受到的延迟更相近,在排查Redis服务超时问题时,建议多关注此类日志。
rt_threshold_ms:设置代理慢日志的阈值,默认为500毫秒。建议将该阈值配置为与客户端超时时间近似的值,推荐为200毫秒到500毫秒。

参数设置方法请参见参数说明及设置方法

操作步骤

  1. 登录Redis管理控制台
  2. 在顶部菜单栏的左上角,选择实例所属的地域。
  3. 实例列表页,单击目标实例ID。
  4. 在左侧导航栏,单击日志管理 > 慢日志
  5. 可选:实例为集群或读写分离架构时,选择慢日志所属的节点类型。
    说明 实例为标准架构时,仅包含数据节点的慢日志,无需执行本步骤。
    选择慢日志节点
  6. 根据查询时间段(72小时内)和关键字来筛选查询结果。
    筛选慢日志
    说明 当Redis社区版实例(集群架构)使用默认的连接地址(即代理连接地址)连接实例时,慢日志功能中数据节点展示的连接数据库的主机地址为代理节点的IP地址(即非真实的客户端IP地址)。您可以使用直连地址连接实例规避此类限制,详情请参见使用直连地址访问Redis实例;如果仍需使用代理连接地址连接实例,您可以使用Redis企业版实例,该版本的数据节点日志可展示真实的客户端IP地址。

相关文档

使用慢日志排查超时问题