• redis查看耗时久的命令


    redis查看耗时久的命令主要有两招:latency和slow log

    【latency】
    Redis中,latency命令用于监视和测量Redis实例的延迟。
    先进入redis:

     redis-cli -h 127.0.0.1 -p 24000
    
    • 1

    [查看延迟监视器阈值]

    CONFIG GET latency-monitor-threshold
    
    • 1

    这个值返回0,代表没有开启延迟监控。

    [开启/设置延迟监视的阈值]
    启动延迟监控的第一步是以毫秒为单位设置延迟阀值(latency threshold)。仅当事件耗时超过指定的延迟阀值才会记录延迟毛刺。用户可根据需要来设置延迟阀值。
    例如,如果基于Redis的应用能接受的最大延迟是100毫秒,则延迟阀值应当设置为大于或等于100毫秒,以便记录所有阻塞Redis服务器的事件。

    CONFIG SET latency-monitor-threshold 100  (这里的单位是毫秒)
    
    • 1

    [技巧]
    模拟耗时任务,1代表这个命令耗时1秒:

    debug sleep 1
    
    • 1

    [latency 具体用法]

    latency help:查看用法
    latency docker:显示一份人类可读的延迟分析报告
    latency latest:返回所有事件的最新延迟样本
    latency history command:返回给定事件的延迟时间序列,能提供更多统计数据,如延迟毛刺间的平均时间间隔,中值偏差和易懂的事件分析。
    latency reset:重置一个或多个事件的延迟时间序列数据。
    latency graph  command:返回事件类的ASCII延迟图。graph子命令非常有用,能快速判断指定事件的延迟趋势。图形对最小值和最大值的图例进行了规范化定义,即0表示最小值(即最低一行的下划线),最高一行的#表示最大值。
    字符画每列下面的垂直标签表示事件是多久之前发生的,可用秒、分钟、小时或天来表示时间单位。例如,"1m"表示下图中第1个图形化的事件发生在1m之前。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    在这里插入图片描述

    参考文章:
    https://redis.com.cn/topics/latency-monitor.html
    https://redis.io/docs/management/optimization/latency-monitor/

    【slow log

    latency可以查看到哪些时刻有出现耗时比较久的命令,但是无法查看到是哪些具体的命令。使用slow log便可以看到具体是哪些命令耗时比较久。
    Redis Slow Log 是一个记录超过指定执行时间的查询的系统。执行时间不包括与客户端对话、发送回复等 I/O 操作,而只包括实际执行命令所需的时间(这是执行命令的唯一阶段,在此期间线程会被阻塞,无法为其他请求提供服务)。

    慢日志有两个参数:slowlog-max-len和slowlog-log-slower-than。
    每当一条命令的执行时间超过 slowlog-log-slower-than 配置指令所定义的阈值时,就会在慢日志中添加一个新条目。慢日志的最大条目数由 slowlog-max-len 配置指令决定。
    配置可以通过编辑redis.conf文件来完成,或者在服务器运行期间通过使用CONFIG GET和CONFIG SET命令来完成。

    [查看这两个参数]

    config get slowlog-max-len  (默认是10000,单位是微妙,即10毫秒)
    config get slowlog-log-slower-than (默认128)
    
    • 1
    • 2

    [slow log具体用法]

    slowlog help:查看用法
    slowlog get [count]:按时间顺序返回慢速日志中的条目。默认情况下,命令会返回日志中最近的十个条目。可选的 count 参数限制了返回条目的数量,因此命令最多返回 count 条目,特殊数字 -1 表示返回所有条目。
    slowlog len:返回慢速日志中的当前条目数。
    slowlog reset:此命令重置慢速日志,清除其中的所有条目。一旦删除,信息将永远丢失。
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    参考文章:
    https://redis.io/commands/slowlog-get/

  • 相关阅读:
    高内聚低耦合
    15、网站统计数据
    位 运 算
    云服务器如何选?腾讯云2核2G3M云服务器88元一年!
    人大女王金融硕士项目——比努力更重要的,是要学会做对的选择
    抖音自动评论助手,其开发流程与需要的技术和代码分享
    Docker 入门指南
    【Linux】详解线程第三篇——线程同步和生产消费者模型
    Mac的Vim配置
    Postgresql运维信息(一)
  • 原文地址:https://blog.csdn.net/weixin_38155824/article/details/133384252