redis查看耗时久的命令

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

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

 redis-cli -h 127.0.0.1 -p 24000

[查看延迟监视器阈值]

CONFIG GET latency-monitor-threshold

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

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

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

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

debug sleep 1

[latency 具体用法]

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

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

参考文章:
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)

[slow log具体用法]

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

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/144760.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机视觉】3.传统计算机视觉方法

传统计算机视觉方法 一、大纲图像分割人脸检测行人检测 二、图像分割基于阈值检测的方法基于边缘检测的方法基于区域的分割方法基于图论的分割方法 三、人脸检测四、行人检测五、SVM六、DPM 一、大纲 图像分割 基于阈值、基于边缘 基于区域、基于图论 人脸检测 Haar-like 特征…

Java实现使用多线程,实现复制文件到另一个目录,起不一样的名字,创建100万个数据

目录 1 需求2 实现 1 需求 我现在有一个300MB 的文件,想要根据这个文件,创建100万个大小一样的,名称不一样,如何实现,如何比较快点实现 2 实现 1 先准备好这个文件 2 准备好目录 3 写代码 private static void crea…

python:bottle + eel 模仿 mdict 查英汉词典

Eel 是一个轻量的 Python 库,用于制作简单的类似于离线 HTML/JS GUI 应用程序,并具有对 Python 功能和库的完全访问权限。 Eel 托管一个本地 Web 服务器,允许您使用 Python 注释函数(annotate functions),…

(附源码)springboot体检预约APP 计算机毕设16370

目 录 摘要 1 绪论 1.1开发背景 1.2研究现状 1.3springboot框架介绍 1.4论文结构与章节安排 2 Springboot体检预约APP系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统流程分析 2.2.1 数据添加流程 2.2.2 数据…

ShowDoc部署与应用:文档管理的最佳实践

在项目开发和协作中,文档管理扮演着至关重要的角色。ShowDoc作为一款卓越的开源文档管理工具,不仅提供强大的文档管理功能,还具备简单易用的协作和部署特性。我们的项目团队最初选择了ShowDoc作为文档管理工具,用以促进前后端协作…

【算法】莫队

这篇博客起源于本人把一道 p o w ( 2 , n ) pow(2,n) pow(2,n) 的问题考虑成求组合数前缀和的问题qwq,于是接触到了这个新算法来总结一下 参考自这篇文章,写得太好了 首先是一道模板题 题目意思是,给出一个数组a,再给出多个区…

nginx 多层代理 + k8s ingress 后端服务获取客户真实ip 配置

1.nginx http 七层代理 修改命令空间: namespace: nginx-ingress : configmap:nginx-configuration kubectl get cm nginx-configuration -n ingress-nginx -o yaml添加如上配置 compute-full-forwarded-for: “true” forwarded-for-header: X-Forwa…

点击、拖拉拽,BI系统让业务掌握数据分析主动权

在今天的商业环境中,数据分析已经成为企业获取竞争优势的关键因素之一。然而,许多企业在面对复杂的数据分析工具时,却常常感到困扰。这些工具往往需要专业的技术人员操作,而且界面复杂,难以理解和使用。对业务人员来说…

JDK17新特性

为什么要升级JDK17 JDK17带来了哪些变化 swtich语句增强 // jdk8switch int statusCode 0; String statusName ""; switch (statusCode) {case 1:statusName "开始";break;case 2:statusName "进行中";break;case 3:statusName "结束…

【ARMv8 SIMD和浮点指令编程】NEON 加载指令——如何将数据从内存搬到寄存器(LDxLDxR)?

将内存中的数据搬到 NEON 寄存器,有很多指令可以完成,熟悉这些指令是必须的。 1 LD1 (multiple structures) 将多个单元素结构加载到一个,两个,三个或四个寄存器上。该指令从内存中加载多个单元结构,并将结果写入一、二、三或四个 SIMD&FP 寄存器。 无偏移 一个寄存…

基于nodejs+vue办公OA公文发文件管理系统

论文的研究内容包括:公文分类、公文信息、待办提醒等方面进行了研究。系统以当前应用最为广泛的nodejs语言为基础,结合了目前应用最为广泛的嵌入式嵌入式平台,集成了B/S体系结构。数据库选择简便高效的MySQL,vue框架。在OA公文发文…

简单理解旁路电容和去耦电容

1、本文内容如有错误,欢迎交流指正。 2、本文仅作为本人学习笔记,部分内容来源于网络、书籍,如涉及侵权,请联系删除。 什么是旁路电容? 旁路电容的英文原文是Bypass capacitor,bypass就是绕过,避…

Spring修炼之路(2)依赖注入(DI)

一、概念 依赖注入(Dependency Injection,DI)。 测试pojo类 : Address.java 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 . 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 . 二、 注入方式 2.1构造器注入 我们在之前的案例已经…

系统集成|第十二章(笔记)

目录 第十二章 沟通管理12.1 沟通的基本概念12.2 主要过程12.2.1 规划沟通管理12.2.2 管理沟通12.2.3 控制沟通 12.3 常见问题 上篇:第十一章、项目人力资源管理 下篇:第十三章、干系人管理 第十二章 沟通管理 沟通管理在项目计划、执行、监控过程中具有…

echarts添加点击事件

实现效果:点击图表,弹出该数据下对应得详情 官方文档: 封装的图表组件中: 点击获取点击得对象,进而将需要的参数传给父组件,在父组件中再去请求接口获取更多信息 this.chart.on(click, (params)> {th…

C# 数组

C# 数组 数组简单数组多维数组锯齿数组Array类数组的接口枚举 数组 如果需要使用同一类型的多个对象,就可以使用集合和数组。C#用特殊的记号声明和使用数组。 简单数组 在声明数组时,应先定义数组中元素的类型,其后是一个空方括号和一个变…

Docker 自动化部署(保姆级教程)

Docker 自动化部署 1. jenkins 介绍1.1 参考链接:1.2 jenkins 概述1.3 jenkins部署项目的流程 2. jenkins 安装2.1 基于docker 镜像2.2 启动 jenkins 后端服务2.3 登录 jenkins 服务后端 3. jenkins自动化部署开始3.1 下载需要的插件3.2 创建任务3.2.1 描述3.2.2 配…

【图论C++】树的重心——教父POJ 3107(链式前向星的使用)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记:转载…

Neo4j-双向关系

概述 这是GraphAware中关于双向关系的解释。 网址链接Modelling Data in Neo4j: Bidirectional Relationships | GraphAware 定向关系 Neo4j中的关系必须有一个语义化的类型和方向。 没有方向关系是模棱两可的,上面A队打败B队,如果没有方向&#xff0c…

AOP 编程

目录 ​编辑一、AOP 编程 1、AOP 概念 2、AOP 编程的开发步骤 3、切面的名词解释 二、AOP 的底层实现原理 1、核心问题 2、动态代理类的创建 (1)JDK 的动态代理创建 (2)CGlib 的动态代理 (3)总结…