Redis慢查询分析

news2024/9/30 15:32:17

慢查询分析

谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(例如:发生时间,耗时,命令的详细信息)记录下来。
在这里插入图片描述
执行一条命令分为如下4个部分:

  1. 发送命令
  2. 命令排队
  3. 命令执行
  4. 返回结果
    需要注意,慢查询只统计步骤4的时间,所以没有慢查询并不代表客户端没有超时问题。

慢查询的两个配置参数

对于慢查询功能,需要明确两件事:

  • 预设阀值怎么设置?
  • 慢查询记录存放在哪?
    Redis提供了slowlog-log-slower-than和slowlog-max-len配置来解决这两个问题。从字面意思就可以看出,slowlog-log-slower-than就是那个预设阀值,它的单位是微秒(1秒=1000毫秒=1000000微秒),默认值是10000。

log-log-slower-than=0会记录所有的命令
slowlog-log-slowerthan<0对于任何命令都不会进行记录
slowlog-max-len只是说明了慢查询日志最多存储多少条

在Redis中有两种修改配置的方法,

  • 修改配置文件
  • 使用config set命令动态修改。例如下面使用config set命令将slowlog-log-slower-than设置为20000微秒,slowlog-max-len设置为1000:
config set slowlog-log-slower-than 20000
config set slowlog-max-len 1000
config rewrite

如果要Redis将配置持久化到本地配置文件,需要执行config rewrite命令。

获取慢查询日志

(1)慢日志获取

slowlog get [n]
结果:

127.0.0.1:6379> slowlog get
1) 1) (integer) 666
176
2) (integer) 1456786500
3) (integer) 11615
4) 1) "BGREWRITEAOF"
2) 1) (integer) 665
2) (integer) 1456718400
3) (integer) 12006
4) 1) "SETEX"
2) "video_info_200"
3) "300"
4) "2"
...

可以看到每个慢查询日志有4个属性组成,分别是慢查询日志的标识id、发生时间戳、命令耗时、执行命令和参数。

(2)获取慢查询日志列表当前的长度
slowlog len
例如,当前Redis中有45条慢查询:

127.0.0.1:6379> slowlog len
(integer) 45

(3)慢查询日志重置

slowlog reset

实际是对列表做清理操作,例如:

127.0.0.1:6379> slowlog len
(integer) 45
127.0.0.1:6379> slowlog reset
OK
127.0.0.1:6379> slowlog len
(integer) 0

最佳实践

  • slowlog-max-len配置建议:线上建议调大慢查询列表,记录慢查询时Redis会对长命令做截断操作,并不会占用大量内存。增大慢查询列表可以减缓慢查询被剔除的可能,例如线上可设置为1000以上。
  • slowlog-log-slower-than配置建议:默认值超过10毫秒判定为慢查询,需要根据Redis并发量调整该值。由于Redis采用单线程响应命令,对于高流量的场景,如果命令执行时间在1毫秒以上,那么Redis最多可支撑OPS不到1000。因此对于高OPS场景的Redis建议设置为1毫秒。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【每日算法 数据结构(C++)】—— 05 | 判断单链表是否有环(解题思路、流程图、代码片段)

文章目录 01 | &#x1f451; 题目描述02 | &#x1f50b; 解题思路03 | &#x1f9e2; 代码片段 The future belongs to those who believe in the beauty of their dreams. 未来属于那些相信梦想之美的人 01 | &#x1f451; 题目描述 给你一个单链表&#xff0c;请判断其中是…

Mac(M1)上安装Ubuntu虚拟机

Mac&#xff08;M1&#xff09;上安装Ubuntu虚拟机 0.下载资料汇总 VMware Fusionhttps://www.vmware.com/products/fusion/fusion-evaluation.htmlubuntu-desktop-arm64.isohttps://cdimage.ubuntu.com/jammy/daily-live/current/ 1.安装VMware Mac版本的VMware叫 VMware …

黑马程序员前端 Vue3 小兔鲜电商项目——(十一)支付页

文章目录 基础数据渲染封装接口数据渲染 支付功能实现支付携带参数支付宝沙箱账号信息 支付结果页展示模版代码绑定路由渲染数据 倒计时逻辑函数封装 支付页有俩个关键数据&#xff0c;一个是要支付的钱数&#xff0c;一个是倒计时数据&#xff08;超时不支付商品释放)。 基础…

Tomcat项目更新Tomcat版本,重新配置conf,并在Idea运行项目,服务器替换SSL证书

Tomcat项目更新Tomcat版本&#xff0c;重新配置conf&#xff0c;并在Idea运行项目 1.下载Tomcat包2.Tomcat配置-ssi配置3.Idea运行 Tomcat 项目4.服务器Tomcat替换SSL证书4. Tomcat 项目重启 1.下载Tomcat包 Tomcat 官网 - https://tomcat.apache.org/ jdk1.8.0_191 我选择的…

如何在电脑、手机《酷游链接》录制屏幕?一看就会!也有剪辑录制视频的方法哦!

最近&#xff0c;我的生活中出现了许多需要录制电脑屏幕的场景&#xff01; 『酷游链kw9㍠N͜E͜T提供』娜娜友善提醒&#xff0c;要自己输入才会显示出来&#xff01;比如会议&#xff0c;教学等场景。这些场景我们可以通过Windows10的内建软体来解决。另外&#xff0c;也出现…

Python小白应该怎么学习字典

1.Python 字典 字典 字典是一个无序、可变和有索引的集合。在 Python 中&#xff0c;字典用花括号编写&#xff0c;拥有键和值。 例子:创建并打印字典 thisdict {"brand": "Porsche","model": "911","year": 1963 } pr…

MUR20100DC-ASEMI快恢复二极管MUR20100DC

编辑-Z MUR20100DC在TO-263封装里采用的2个芯片&#xff0c;其尺寸都是102MIL&#xff0c;是一款共阴极快恢复对管。MUR20100DC的浪涌电流Ifsm为200A&#xff0c;漏电流(Ir)为10uA&#xff0c;其工作时耐温度范围为-55~150摄氏度。MUR20100DC采用抗冲击硅芯片材质&#xff0c;…

技术管理第二板斧建团队-沟通

一、沟通的核心原则 我认为&#xff0c;沟通是内心想法和思考逻辑的外延&#xff0c;如果你有良好的沟通能力&#xff0c;可以在整个团队中营造公开透明的信任氛围&#xff0c;让信息透明的同时&#xff0c;也让团队成员愿意发出自己的声音。 但实际情况中&#xff0c;很多人…

TypeScript 中对【函数类型】的约束使用解读

概述 函数是JavaScript 中的 一等公民 概念&#xff1a;函数类型的概念是指给函数添加类型注解&#xff0c;本质上就是给函数的参数和返回值添加类型约束 声明式函数: 在 TypeScript 中&#xff0c;一个函数有输入和输出&#xff0c;需要对其进行约束&#xff0c;需要把输入和…

电力载波远程控制系统

随着电力技术的不断发展&#xff0c;电力载波远程控制系统成为了现代电力系统中的重要组成部分。电力载波远程控制系统是一种利用电力载波技术实现远程控制的系统&#xff0c;可以对电力系统中的各种设备进行实时监测、控制和管理&#xff0c;提高电力系统的安全性、可靠性和效…

Efficient Video Transformers with Spatial-Temporal Token Selection阅读笔记

摘要 Video Transformers在主要视频识别基准测试中取得了令人印象深刻的结果&#xff0c;但其计算成本很高。 在本文中&#xff0c;我们提出了 STTS&#xff0c;这是一种令牌选择框架&#xff0c;它根据输入视频样本在时间和空间维度上动态选择一些信息丰富的令牌。 具体来说&…

Qt/C++编写视频监控系统78-视频推流到流媒体服务器

一、前言 视频推流作为独立的模块&#xff0c;目前并没有集成到视频监控系统中&#xff0c;目前是可以搭配监控系统一起使用&#xff0c;一般是将添加好的摄像头通道视频流地址打开后&#xff0c;读取视频流重新推到流媒体服务器&#xff0c;然后第三方可以从流媒体服务器拉取…

博世中国×牛客:精准人才简历增长100%!智能制造大揭秘

当一家智能制造巨头&#xff0c;在面向人工物联网企业的全面转型中&#xff0c;人才需求发生变化&#xff0c;年轻的校园顶尖科技人才成为刚需。 此时&#xff0c;内部需求激增&#xff0c;人才要求高还翻倍增长&#xff0c;但外部供需失衡&#xff0c;人才供给极少。尽管已然…

编译原理二:有限状态机

文章目录 1. 有限状态机介绍1.1. 确定性有限状态机&#xff08;DFA&#xff09;1.2. 非确定性有限状态机&#xff08;NFA&#xff09;1.3. 有限状态机的应用 2. 例子&#xff1a;实现一个简易版本的分词 1. 有限状态机介绍 有限状态机是一种计算模型&#xff0c;它可以接受一串…

脑机接口科普0023——黑门03:伦理道德中的电车难题

本文禁止转载&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 脑机接口科普0022——黑门02&#xff1a;伦理道德问题_sgmcy的博客-CSDN博客 前文中&#xff0c;罗列了一下脑机接口这个技术中&#xff0c;会遇到哪些伦理道德的问题。 前文末&#xff0c;以黑门…

Stable Diffusion 对图像进行风格化

风格化是基于现有图像转换成另一种风格的操作方法&#xff0c;通常应用于img2img中&#xff0c;将文字提示中特定的新风格应用于原图像上进行修改。在这个过程中并非使用随机的潜在状态&#xff0c;而是采用原始图像去编码初始潜在状态。在此基础上通过加入少量的随机性&#x…

【观察】新华三:数据中心可组合架构创新,提供多元算力的“最优解”

今天&#xff0c;以ChatGPT为代表的AIGC大模型&#xff0c;已经在国内形成了“海啸效应”&#xff0c;几乎所有的科技公司都在想方设法进入大模型的赛道。背后的核心驱动力&#xff0c;就在于大模型的最大价值在于普遍提升个人生产力&#xff0c;而各行各业的公司都在积极寻找应…

linux下照片添加水印乱码

java程序给图片添加中文文字水印显示乱码 原因&#xff1a;linux服务器没有对应的文字 解决步骤 在windows系统下文字中选一个文字&#xff08;微软雅黑&#xff09; windows文字保存路径&#xff1a;C:\Windows\Fonts 上传到linux服务器&#xff1a;/usr/share/fonts 新建…

Revit做基坑放坡开挖方法及快速生成基坑

一、Revit做基坑放坡开挖方法 1、建立基坑顶与基坑底轮廓参照线&#xff0c;使用地形表面工具通过放置点创建原始平整场地过后的地形(有坐标点可以直接导入)。 2、修改原始地形名称为&#xff1a;开挖前&#xff0c;阶段化&#xff1a;现有类型。 3、使用平整区域&#xff0c;弹…

video-从入门到精通-不管任何项目奇葩需求,这一专栏就够了

在日常我们的开发中&#xff0c;我们会遇到类似这样的功能&#xff0c;视频播放了这种情况&#xff0c;但是如果只是简单的实现的话&#xff0c;ui不满意&#xff0c;因为&#xff0c;别人有的&#xff0c;就是代表这是能实现的&#xff0c;你必须完成&#xff08;苦der程序员&…