美文网首页
Redis之慢查询分析

Redis之慢查询分析

作者: 煮茶boy | 来源:发表于2018-10-07 21:14 被阅读0次

Redis除了提供5种数据结构之外,还为我们提供了诸如慢查询分析,Redis Shell, Pipeline,事物和Lua脚本,Bitmaps,HyperLogLog,发布订阅和CEO等功能,这些功能在某些场景可以发挥重要的作用.

  • 慢查询分析: 通过慢查询分析,找到有问题的命令进行优化.

许多存储系统(例如MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令执行的时间,当超过预设阀值,就将这条命令的相关信息(例如: 发生时间,耗时,命令的详细信息)记录下来,Redis也提供了类似的功能.

  • 一条客户端命令的生命周期
发送命令->命令排队->命令执行       

注意!!!,慢查询只统计步骤3,所以没有慢查询并不代表客户端没有超时问题

  • 慢查询的两个配置参数
slowlog-log-slower-than    设置预设阀值,单位是微秒,默认是10000

slowlog-log-slower-than=0会记录所有的命令,slower-log-slower-than<0对于任何命令都不会记录.

slowlog-max-len    -- 设置存储慢查询日志的列表的最大长度

实际上Redis使用了一个列表来存储慢查询日志,slowlog-max-len就是用来设置这个列表的长度,当列表满了之后,又有新的命令的执行时间超过了预设阀值,则列表的第一条数据出列,第6条数据入列.

Redis有两种修改配置的方法: 一种是修改配置文件,一种是使用config set命令动态修改.

动态修改配置如下:

>>>config set slowlog-log-slower-than 20000
>>>config set slowlog-max-len 1000
>>>config rewrite   --将修改后的配置持久化到本地配置文件

虽然慢查询日志存放在Redis内存列表中,但是Redis并没有提供相应的键,而是提供命令来访问和管理

  • 获取慢查询日志记录
>>>slowlog get n     -- n为慢查询日志条数,不指定n则输出所有的慢查询日志

每个慢查询日志由4个属性组成,分别是慢查询日志的标识id,发生时间戳,命令耗时,执行命令.

  • 获取慢查询日志列表的长度
>>>slowlog len
  • 清楚慢查询日志列表
>>>slowlog reset
  • 慢查询日志配置建议

slowlog-max-len 配置建议: 线上建议调大慢查询日志列表长度,因为记录慢查询时Redis会对长命令进行截断操作,并不会占用大量内存,增大慢查询列表可以减缓慢查询被剔除的可能。线上可以设置为1000以上。

slowlog-log-slower-than 设置建议: 对于高流量的场景,建议设置为1毫秒(也就是10000微妙)

相关文章

  • Redis之慢查询分析

    Redis除了提供5种数据结构之外,还为我们提供了诸如慢查询分析,Redis Shell, Pipeline,事物...

  • Redis之慢查询日志

    Redis提供了5种数据结构,但除此之外,Redis还提供了注入慢查询分析,Redis Shell、Pipelin...

  • 《redis开发与运维》——小功能大用处

    本章介绍了一下redis的功能: 慢查询分析 慢查询分析可以打印redis执行超时的命令日志。慢查询查询到的是执行...

  • Redis学习--小功能大用处

    ·慢查询分析:通过慢查询分析,找到有问题的命令进行优化。·Redis Shell:功能强大的Redis Shell...

  • redis的慢查询

    一 什么是redis的慢查询 慢查询并不是redis特有的,mysql也会提供慢查询日志供相关人员分析 先看看re...

  • 【redis】redis性能分析工具redis-faina

    redis-faina 是由Instagram 开发并开源的一个Redis 查询分析小工具。redis-faina...

  • mysql之慢查询

    1. 介绍 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数...

  • mysql之慢查询

    慢查询 慢查询: 超过指定时间的SQL语句查询称为慢查询。这个指定时间可配置,由long_query_time决定...

  • mysql性能优化之慢查询日志分析

    一、慢查询 在我们的项目中, 有很多需要优化的sql语句, 比如多表连接查询, 通常很耗时, 那么怎么知道哪些sq...

  • 【转】Redis中Hash实现条件查询

    TAG Redis,Lua,Redis条件查询,Redis Hash条件查询,Redis根据值内容查询 原文链接 ...

网友评论

      本文标题:Redis之慢查询分析

      本文链接:https://www.haomeiwen.com/subject/edhraftx.html