加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

详解Redis慢查询成果:快速定位机能瓶颈

发布时间:2019-09-21 23:25:28 所属栏目:编程 来源:波波说运维
导读:Redis数据库是一个基于内存的 key-value存储体系,此刻redis最常用的行使场景就是存储缓存用的数据,在必要高速读/写的场所行使它快速读/写,从而缓解应用数据库的压力,进而晋升应用处理赏罚手段。 许大都据库会提供慢查询日记辅佐开拓和运维职员定位体系存在

Redis数据库是一个基于内存的 key-value存储体系,此刻redis最常用的行使场景就是存储缓存用的数据,在必要高速读/写的场所行使它快速读/写,从而缓解应用数据库的压力,进而晋升应用处理赏罚手段。

许大都据库会提供慢查询日记辅佐开拓和运维职员定位体系存在的慢操纵。所谓慢查询日记就是体系在呼吁执行前后计较每条呼吁的执行时刻,虽然在数据库中最常见的就是select这些sql语句了,当高出预设阀值,就将这条呼吁的相干信息(譬喻:产生时刻,耗时,呼吁的具体信息)记录下来,着实Redis也提供了相同的成果。

详解Redis慢查询成果--快速定位机能瓶颈

一、相干参数

Redis首要提供了slowlog-log-slower-than和slowlog-max-len两个设置参数来提供这项成果。两项参数别离用来配置慢查询的阈值以及存放慢查询的记录。

slowlog-log-slower-than参数配置什么环境下是慢语句,只有redis呼吁执行时刻大于slowlog-log-slower-than的才会界说成慢查询,才会被slowlog举办记录。它的单元是微秒(1秒=1000毫秒=1000000微秒),在初始环境下默认值是10000,也就是10ms,若是执行了一条较量慢的呼吁,假如它的执行时刻高出了 10ms ,那么它将被记录在慢查询日记中。(假如slowlog-log-slower-than=0会记录全部的呼吁,slowlog-log-slower than<0对付任何呼吁都不会举办记录)

slowlog-max-len声名白慢查询日记最多可以存储几多笔记录,现实上Redis行使了一个列表来存储慢查询日记,slowlog-max-len就是列表的最大长度,它自身是一个先辈先出行列,当slowlog高出设定的最大值后,会将最早的slowlog删除。简而言之当一个新的呼吁满意慢查询前提时会被插入到这个列表中,当慢查询日记列表已处于其最大长度时,最早插入的一个呼吁将从列表中移出,譬喻slowlog-max-len配置为 50 ,当有第51条慢查询插入的话,那么队头的第一条数据就出列,第51条慢查询就会入列。

二、配置Redis慢查询

1、姑且设置:CONFIG呼吁进动作态设置

  1. #查察 
  2. >config get slowlog-log-slower-than 
  3. >config get slowlog-max-len 
  4. #设置查询时刻高出1毫米的呼吁举办记录并生涯500条慢查询记录 
  5. >config set slowlog-log-slower-than 1000 
  6. >config set slowlog-max-len 500 

详解Redis慢查询成果--快速定位机能瓶颈

留意通过config呼吁设置的为动态见效 , 一旦处事重启则会从头规复为默认配置 , 以是提议在排盘查题时通过config这种方法举办设置 , 可是处事不变后通过修改设置文件方法举办最终确认 (可以通过config rewrite呼吁耐久化到当地文件 , 但要首要启动redis时要指定redis.conf文件 该呼吁才可以见效)。

2. 永世设置:设置redis.conf文件

  1. # vi redis.conf 
  2. slowlog-log-slower-than 1000 
  3. slowlog-max-len 500 

详解Redis慢查询成果--快速定位机能瓶颈

三、查察Redis慢查询记录

要想查察所记录的日记 ,首要行使 SLOWLOG GET 可能 SLOWLOG GET number 呼吁,前者将会输出全部的 slow log ,最大长度取决于 slowlog-max-len 选项的值,而 SLOWLOG GET number 则只打印指定命量的日记。

查察当前日记数目: 行使slowlog len呼吁查察日记数目。

假如日记条数过多,还可以行使slowlog reset呼吁举办日记清空 。

详解Redis慢查询成果--快速定位机能瓶颈

部门记录声名:

  1. 3) 1) (integer) 25 # 独一性(unique)的日记标识符 
  2.  2) (integer) 1565951323 # 被记录呼吁的执行时刻点,以 UNIX 时刻戳名目暗示 
  3.  3) (integer) 22720 # 查询执行时刻,以微秒为单元 
  4.  4) 1) "SMEMBERS" # 执行的呼吁,以数组的情势分列 
  5.  2) "spring:session:expirations:1565950980000" # 这里完备的呼吁是 SMEMBERS spring:session:expirations:1565950980000 

【编辑保举】

  1. MyCat数据库的基本设置及行使
  2. 详解MySQL查察数据库表容量巨细的要领总结
  3. 一文看懂MySQL怎样查察数据库表容量巨细
  4. 12个合用于DBA的数据库打点和开拓的SQL器材
  5. 基于时序数据库做监控,这里有超风行的开源方案
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读