首页 数据库 Redis Redis性能监控指标总结

Redis性能监控指标总结

Sep 25, 2020 pm 04:06 PM
redis 性能

Redis性能监控指标总结

监控指标

  •        性能指标:Performance
  •        内存指标: Memory
  •        基本活动指标:Basic activity
  •        持久性指标: Persistence
  •        错误指标:Error

性能指标:Performance

               Name                Description
               latency                Redis响应一个请求的时间
               instantaneous_ops_per_sec                平均每秒处理请求总数
               hi rate(calculated)                缓存命中率(计算出来的

内存指标: Memory

               Name                Description
               used_memory                已使用内存
               mem_fragmentation_ratio                内存碎片率
               evicted_keys                由于最大内存限制被移除的key的数量
               blocked_clients                由于BLPOP,BRPOP,or BRPOPLPUSH而备阻塞的客户端

基本活动指标:Basic activity

               Name                Description
               connected_clients                客户端连接数
               conected_lavesslave                数量
               master_last_io_seconds_ago                最近一次主从交互之后的秒数
               keyspace                数据库中的key值总数

持久性指标: Persistence

               Name                Description
               rdb_last_save_time                最后一次持久化保存磁盘的时间戳
               rdb_changes_sice_last_save                自最后一次持久化以来数据库的更改数

错误指标:Error

               Name                Description
               rejected_connections                由于达到maxclient限制而被拒绝的连接数
               keyspace_misses                Key值查找失败(没有命中)次数
               master_link_down_since_seconds                主从断开的持续时间(以秒为单位)

监控方式

  •        redis-benchmark
  •        redis-stat
  •        redis-faina
  •        redislive
  •        redis-cli
  •        monitor
  •        showlog

   ①get:获取慢查询日志

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

   ③reset:重置慢查询日志

相关配置:

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

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

  • server:服务器运行的环境参数
  • clients:客户端相关信息
  • memory:服务器运行内存统计数据
  • persistence:持久化信息
  • stats:通用统计数据
  • Replication:主从复制相关信息
  • CPU:CPU使用情况
  • cluster:集群信息
  • Keypass:键值对统计数量信息

终端info命令使用

./redis-cli info 按块获取信息 | grep 需要过滤的参数./redis-cli info stats | grep ops
登录后复制

交互式info命令使用

#./redis-cli> info server
登录后复制

性能监控:

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

内存监控

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

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

[root@CombCloud-2020110836 src]# ./redis-cli info | grep blocked_clients
blocked_clients:0
登录后复制

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

[root@CombCloud-2020110836 src]# ./redis-cli info | grep evicted_keys
evicted_keys:0  #
登录后复制

内存碎片率

[[email protected] src]# ./redis-cli info | grep
mem_fragmentation_ratiomem_fragmentation_ratio:2.74
登录后复制

已使用内存

[[email protected] src]# ./redis-cli info | grep 
used_memory:used_memory:3133624
登录后复制

基本活动指标:

redis连接了多少客户端 通过观察其数量可以确认是否存在意料之外的连接。如果发现数量不对劲,就可以使用lcient list指令列出所有的客户端链接地址来确定源头。

[root@CombCloud-2020110836 src]# ./redis-cli info | grep connected_clients
connected_clients:1
[root@CombCloud-2020110836 src]# ./redis-cli info | grep connected 
 
connected_clients:1 # 客户端连接数量
connected_slaves:1 # slave连接数量
登录后复制

持久性指标:

[root@CombCloud-2020110836 src]# ./redis-cli info | grep rdb_last_save_time
rdb_last_save_time:1591876204 # 最后一次持久化保存磁盘的时间戳
[root@CombCloud-2020110836 src]# ./redis-cli info | grep rdb_changes_since_last_save
rdb_changes_since_last_save:0 # 自最后一次持久化以来数据库的更改数
登录后复制

错误指标

由于超出最大连接数限制而被拒绝的客户端连接次数,如果这个数字很大,则意味着服务器的最大连接数设置得过低,需要调整maxclients

[[email protected] src]# ./redis-cli info | grep connected_clientsconnected_clients:1
登录后复制

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

[[email protected] src]# ./redis-cli info | grep keyspacekeyspace_misses:0
登录后复制

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

[[email protected] src]# ./redis-cli info | grep rdb_changes_since_last_saverdb_changes_since_last_save:0
登录后复制

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

[[email protected] src]# ./redis-cli info | grep backlog_sizerepl_backlog_size:1048576
登录后复制

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

[[email protected] src]# ./redis-cli info | grep sync_partial_errsync_partial_err:1
登录后复制

redis性能测试命令

./redis-benchmark -c 100 -n 5000
登录后复制

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

更多编程相关知识,请访问:编程入门!!

以上是Redis性能监控指标总结的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

redis集群模式怎么搭建 redis集群模式怎么搭建 Apr 10, 2025 pm 10:15 PM

Redis集群模式通过分片将Redis实例部署到多个服务器,提高可扩展性和可用性。搭建步骤如下:创建奇数个Redis实例,端口不同;创建3个sentinel实例,监控Redis实例并进行故障转移;配置sentinel配置文件,添加监控Redis实例信息和故障转移设置;配置Redis实例配置文件,启用集群模式并指定集群信息文件路径;创建nodes.conf文件,包含各Redis实例的信息;启动集群,执行create命令创建集群并指定副本数量;登录集群执行CLUSTER INFO命令验证集群状态;使

redis指令怎么用 redis指令怎么用 Apr 10, 2025 pm 08:45 PM

使用 Redis 指令需要以下步骤:打开 Redis 客户端。输入指令(动词 键 值)。提供所需参数(因指令而异)。按 Enter 执行指令。Redis 返回响应,指示操作结果(通常为 OK 或 -ERR)。

redis数据怎么清空 redis数据怎么清空 Apr 10, 2025 pm 10:06 PM

如何清空 Redis 数据:使用 FLUSHALL 命令清除所有键值。使用 FLUSHDB 命令清除当前选定数据库的键值。使用 SELECT 切换数据库,再使用 FLUSHDB 清除多个数据库。使用 DEL 命令删除特定键。使用 redis-cli 工具清空数据。

redis怎么使用单线程 redis怎么使用单线程 Apr 10, 2025 pm 07:12 PM

Redis 使用单线程架构,以提供高性能、简单性和一致性。它利用 I/O 多路复用、事件循环、非阻塞 I/O 和共享内存来提高并发性,但同时存在并发性受限、单点故障和不适合写密集型工作负载的局限性。

redis怎么读源码 redis怎么读源码 Apr 10, 2025 pm 08:27 PM

理解 Redis 源码的最佳方法是逐步进行:熟悉 Redis 基础知识。选择一个特定的模块或功能作为起点。从模块或功能的入口点开始,逐行查看代码。通过函数调用链查看代码。熟悉 Redis 使用的底层数据结构。识别 Redis 使用的算法。

redis底层怎么实现 redis底层怎么实现 Apr 10, 2025 pm 07:21 PM

Redis 使用哈希表存储数据,支持字符串、列表、哈希表、集合和有序集合等数据结构。Redis 通过快照 (RDB) 和追加只写 (AOF) 机制持久化数据。Redis 使用主从复制来提高数据可用性。Redis 使用单线程事件循环处理连接和命令,保证数据原子性和一致性。Redis 为键设置过期时间,并使用 lazy 删除机制删除过期键。

redis怎么读取队列 redis怎么读取队列 Apr 10, 2025 pm 10:12 PM

要从 Redis 读取队列,需要获取队列名称、使用 LPOP 命令读取元素,并处理空队列。具体步骤如下:获取队列名称:以 "queue:" 前缀命名,如 "queue:my-queue"。使用 LPOP 命令:从队列头部弹出元素并返回其值,如 LPOP queue:my-queue。处理空队列:如果队列为空,LPOP 返回 nil,可先检查队列是否存在再读取元素。

redis怎么查看所有的key redis怎么查看所有的key Apr 10, 2025 pm 07:15 PM

要查看 Redis 中的所有键,共有三种方法:使用 KEYS 命令返回所有匹配指定模式的键;使用 SCAN 命令迭代键并返回一组键;使用 INFO 命令获取键的总数。

See all articles