Redis 的监控指标有哪些?别说你不知道!

监控指标

•性能指标:Performance

•内存指标: Memory

•基本活动指标:Basic activity

•持久性指标: Persistence

•错误指标:Error

性能指标:Performance

内存指标: Memory

基本活动指标:Basic activity

持久性指标: Persistence

错误指标:Error

监控方式

•redis-benchmark

•redis-stat

•redis-faina

•redislive

•redis-cli

•monitor

•showlog

1.get:获取慢查询日志

2.len:获取慢查询日志条目数

3.reset:重置慢查询日志

相关配置:

1slowlog-log-slower-than 1000 2# 设置慢查询的时间下线,单位:微秒 3slowlog-max-len 100 4# 设置慢查询命令对应的日志显示长度,单位:命令数

info(可以一次性获取所有的信息,也可以按块获取信息)

1.server:服务器运行的环境参数

2.clients:客户端相关信息

3.memory:服务器运行内存统计数据

4.persistence:持久化信息

5.stats:通用统计数据

6.Replication:主从复制相关信息

7.CPU:CPU使用情况

8.cluster:集群信息

9.Keypass:键值对统计数量信息

终端info命令使用

1./redis-cli info 按块获取信息 | grep 需要过滤的参数 2./redis-cli info stats | grep ops

交互式info命令使用

 #./redis-cli > info server

性能监控:

redis-cli info | grep ops # 每秒操作数

内存监控

1[root@CombCloud-2020110836 src\]# ./redis-cli info | grep used | grep human used_memory_human:2.99M # 内存分配器从操作系统分配的内存总量 2used_memory_rss_human:8.04M #操作系统看到的内存占用,top命令看到的内存used_memory_peak_human:7.77M # redis内存消耗的峰值 3used_memory_lua_human:37.00K # lua脚本引擎占用的内存大小

由于BLPOP,BRPOP,or BRPOPLPUSH而备阻塞的客户端

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep blocked_clientsblocked_clients:0

由于最大内存限制被移除的key的数量

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep evicted_keysevicted_keys:0 #

内存碎片率

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep mem_fragmentation\_ratiomem_fragmentation_ratio:2.74

已使用内存

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep used_memory:used_memory:3133624

基本活动指标:

redis连接了多少客户端 通过观察其数量可以确认是否存在意料之外的连接。

如果发现数量不对劲,就可以使用lcient list指令列出所有的客户端链接地址来确定源头。

1[root@CombCloud-2020110836 src\]# ./redis-cli info | grep connected_clientsconnected_clients:1 2 3 4[root@CombCloud-2020110836 src\]# ./redis-cli info | grep connectedconnected_clients:1 # 客户端连接数量 5connected_slaves:1 # slave连接数量

持久性指标:

1[root@CombCloud-2020110836 src\]# ./redis-cli info | grep rdb_last_save_timerdb_last_save_time:1591876204 # 最后一次持久化保存磁盘的时间戳 2[root@CombCloud-2020110836 src\]# ./redis-cli info | grep rdb_changes_since_last_saverdb_changes_since_last_save:0 # 自最后一次持久化以来数据库的更改数

错误指标

由于超出最大连接数限制而被拒绝的客户端连接次数,如果这个数字很大,则意味着服务器的最大连接数设置得过低,需要调整maxclients,更多Redis教程请关注公众号Java技术栈,在后台回复redis。

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep connected_clientsconnected_clients:1

key值查找失败(没有命中)次数,出现多次可能是被hei ke gongjji

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep keyspacekeyspace_misses:0

主从断开的持续时间(以秒为单位)

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep rdb_changes_since_last_saverdb_changes_since_last_save:0

复制积压缓冲区如果设置得太小,会导致里面的指令被覆盖掉找不到偏移量,从而触发全量同步

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep backlog_sizerepl_backlog_size:1048576

通过查看sync_partial_err变量的次数来决定是否需要扩大积压缓冲区,它表示主从半同步复制失败的次数

[root@CombCloud-2020110836 src\]# ./redis-cli info | grep sync_partial_errsync_partial_err:1

redis性能测试命令

./redis-benchmark -c 100 -n 5000

说明:100个连接,5000次请求对应的性能

来源:https://blog.51cto.com/yht1990/2503819

关注公众号Java技术栈回复"面试"获取我整理的2020最全面试题及答案。

推荐去我的博客阅读更多:

1.Java JVM、集合、多线程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、后端、架构、阿里巴巴等大厂最新面试题

觉得不错,别忘了点赞+转发哦!

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )