美文网首页
慢查询分析

慢查询分析

作者: Robin92 | 来源:发表于2019-12-11 22:03 被阅读0次

——《Redis 开发与运维》第三章


存储系统提供慢查询日志可以帮助开发和运维排查系统中存在的慢操作。

慢查询统计的哪部分时间

在 Redis 命令周期中有 4 个部分:

  • 发送命令。客户端到服务器命令的传输。
  • 命令排队。Redis 作为单线程架构,命令逐个执行的排队。
  • 执行命令。服务器真正执行命令的时间。正是对慢查询有作用的时间。
  • 返回结果。服务器到客户端的传输。

慢查询统计的主要是 Redis 命令的执行时间。

多久算慢查询

Redis 提供了参数 slowlog-log-slower-than 来设定慢查询的阈值,单位微秒,默认值 10000(即 10ms)。即,当执行某个操作的执行时间超过 10 ms 时,就会被记录在慢查询日志中。

slowlog-log-slower-than=0 会记录所有查询日志。
slowlog-log-slower-than<0 不会记录任何查询日志。

慢查询日志存在哪里

Redis 使用了一个固定大小(长度)的 列表 来存储慢查询日志,存储长度是通过 slowlog-max-len 来设定。按先进先出原则,当列表被填满后,最先进去的会被移除。

如何配置

慢查询设置有两种方法,一种是修改配置文件,另一种是使用 config set 动态修改配置:

config set slowlog-log-slower-than 20000 # 设置大于 20ms 为慢查询
config set slowlog-max-len 1000 # 设置存储 1000 条慢查询日志
config rewrite # 持久化到本地配置文件中

如何查看慢查询日志

Redis 并没有暴露存储慢查询日志这个列表的键,而是通过一组命令来实现对慢查询日志的访问和管理。

slowlog get [n] # 获取(n 条)慢查询日志
slowlog len # 获取慢查询日志列表当前的长度
slowlog reset # 重置(清理)慢查询日志

获取慢查询日志由四部分组成(参考):ID、操作发生的时间、操作执行时间长度、命令和参数。

image.png

最佳实践

配置建议:由于 Redis 是单线程响应命令,对于并发,每个命令执行时间为 1ms 时,Redis 最多可支撑的 QPS 不到 1000。因此,对于高 QPS 的场景建议设置为 1ms。

排查问题注意:注意慢查询只记录的时命令的执行时间,不包括网络传输时间和命令排队时间,在排查问题时注意区分。

持久化:慢查询日志时一个先进先出的队列,一般情况下,需要运维将慢查询日志持久化到其他存储中,然后制作可视化界面进行查询。

相关文章

  • 查询截取分析与优化

    分析步骤: 慢查询日志与捕获 explain+慢查询日志分析 show profile查询sql在mysql服务器...

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

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

  • MySQL慢查询设置

    linux下开启mysql慢查询,分析查询语句

  • 十一、慢查询分析工具

    mysql 慢查询分析工具一: mysql安装后自动安装mysqldumpslow慢查询工具 使用方法 分析前三条...

  • MongoDB优化

    备注:MongoDB 4.2 版本 一.查询分析器 1.1 启用查询分析器 1.2 禁用查询分析器 1.3 记录慢...

  • Mysql性能

    --慢查询-- show variables like '%slow%'; 你可以分析慢查询日志,找出有问题的SQ...

  • MySQL慢查询分析

    开启慢查询日志 慢查询时长设置 开启后重连 记录到表 记录未使用索引的查询 测试 慢查询分析 得到返回记录集最多的...

  • mysql查询优化 - 慢查询

    mysql查询速度优化思路 开启慢查询日志 查看导致阻塞的sql语句 重现场景, 单独测试 mysql 慢查询分析...

  • 慢查询分析

    Redis 使用一个列表来存储慢查询日志 其中,所谓的慢查询,命令执行时间超过 slowlog-log-slowe...

  • 慢查询分析

    ——《Redis 开发与运维》第三章 存储系统提供慢查询日志可以帮助开发和运维排查系统中存在的慢操作。 慢查询统计...

网友评论

      本文标题:慢查询分析

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