从01开始 从01开始
首页
  • 计算机科学导论
  • 数字电路
  • 计算机组成原理

    • 计算机组成原理-北大网课
  • 操作系统
  • Linux
  • Docker
  • 计算机网络
  • 计算机常识
  • Git
  • JavaSE
  • Java高级
  • JavaEE

    • Ant
    • Maven
    • Log4j
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • Servlet
  • Spring
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC
  • SpringBoot
  • 学习网课的心得
  • 输入法
  • 节假日TodoList
  • 其他
  • 关于本站
  • 网站日记
  • 友人帐
  • 如何搭建一个博客
GitHub (opens new window)

peterjxl

人生如逆旅,我亦是行人
首页
  • 计算机科学导论
  • 数字电路
  • 计算机组成原理

    • 计算机组成原理-北大网课
  • 操作系统
  • Linux
  • Docker
  • 计算机网络
  • 计算机常识
  • Git
  • JavaSE
  • Java高级
  • JavaEE

    • Ant
    • Maven
    • Log4j
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • Servlet
  • Spring
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC
  • SpringBoot
  • 学习网课的心得
  • 输入法
  • 节假日TodoList
  • 其他
  • 关于本站
  • 网站日记
  • 友人帐
  • 如何搭建一个博客
GitHub (opens new window)
  • JavaSE

  • JavaSenior

  • JavaEE

  • JavaWeb

  • Spring

  • 主流框架

    • Redis

      • Redis系列教程介绍
      • Redis介绍
      • Redis的安装和启停
      • Redis操作数据
      • Redis客户端
      • Redis命令返回值
      • 多数据库
      • Redis中的事务
      • Redis中key的过期时间
      • Redis持久化数据
      • Redis的配置
      • Java连接Redis
      • Redis连接池
      • Redis搭建集群
      • Redis中的哨兵
      • Redis中的安全
      • 监控Redis
        • 耗时命令日志
        • MONITOR监控
      • Redis小实验
      • Redis
    • Mybatis

    • Lucene

    • Elasticsearch

    • MQ

    • MyCat

    • Lombok

    • 主流框架
  • SpringMVC

  • SpringBoot

  • Java并发

  • Java源码

  • JVM

  • 韩顺平

  • Java
  • Java
  • 主流框架
  • Redis
2023-08-18
目录

监控Redis

# 150.监控Redis

了解Redis的运行状况也很重要

# 耗时命令日志

当一条命令执行时间超过限制时,Redis会将该命令的执行时间等信息加入耗时命令日志(slow log)以供开发者查看。可以通过配置文件的 slowlog-log-slower-than参数设置这一限制,要注意单位是微秒(1 000 000 微秒相当于1秒),默认值是10 000。耗时命令日志存储在内存中,可以通过配置文件的 slowlog-max-len 参数来限制记录的条数。

使用 SLOWLOG GET命令来获得当前的耗时命令日志,如:

redis> SLOWLOG GET
1) 1) (integer) 4
2) (integer) 1356806413
3) (integer) 58
4) 1) "get"
2) "foo"
2) 1) (integer) 3
2) (integer) 1356806408
3) (integer) 34
4) 1) "set"
2) "foo"
3) "bar"
1
2
3
4
5
6
7
8
9
10
11
12

每条日志都由以下4个部分组成:

(1)该日志唯一ID;

(2)该命令执行的Unix时间;

(3)该命令的耗时时间,单位是微秒

(4)命令及其参数。

提示 为了产生一些耗时命令日志作为演示,这里将 slowlog-log-slower-than参数值设置为0,即记录所有命令。如果设置为负数则会关闭耗时命令日志。

‍

‍

# MONITOR监控

Redis提供了MONITOR命令来监控Redis执行的所有命令,redis-cli同样支持这个命令,如在redis-cli中执行MONITOR:

redis> MONITOR
OK
1
2

这时 Redis 执行的任何命令都会在 redis-cli 中打印出来,如我们打开另一个 redis-cli执行 SET foo bar命令,在之前的redis-cli中会输出如下内容:

1356806981.885237 [0 127.0.0.1:57339] "SET" "foo" "bar
1

MONITOR命令非常影响Redis的性能,一个客户端使用MONITOR命令会降低Redis将近一半的负载能力。所以MONITOR命令只适合用来调试和纠错。

‍

补充知识 Instagram团队开发了一个基于 MONITOR 命令的 Redis 查询分析程序redis-faina。redis-faina可以根据MONITOR命令的监控结果分析出最常用的命令、访问最频繁的键等信息,对了解Redis的使用情况帮助很大。

redis-faina 的项目地址是 https://github.com/Instagram/redis-faina,直接下载其中的redis-faina.py文件即可使用。

redis-faina.py的输入值为一段时间的MONITOR命令执行结果。如:

redis-cli MONITOR | head -n <要分析的命令数> | ./redis-faina.py
1
在GitHub上编辑此页 (opens new window)
上次更新: 2023/8/18 22:11:52
Redis中的安全
Redis小实验

← Redis中的安全 Redis小实验→

Theme by Vdoing | Copyright © 2022-2023 粤ICP备2022067627号-1 粤公网安备 44011302003646号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式