zoukankan      html  css  js  c++  java
  • radis-stat监控几个重要指标

      1  慢日志:

      1.1、通过命令[slowlog get]得到 Redis 执行的 slowlog 集合,理想情况下slowlog 集合应该为空即没有任何慢日志。

      1.2、若发现有慢命令,则应该逐个分析是否正常,是否需要优化。


       2  存活情况:是最重要的健康指标,通过命令 PING 的响应是否为 PONG 来判断。


       3 连接数:connected_clients    

       3.1、连接的客户端数量,radis-stat 监控工具或命令 [redis-cli info Clients|grep connected_clients] 得到,这个值与使用 Redis 服务的连接池配置关系比较大,这个值如果很大,需要排查问题原因。

       3.2、另外还有一个拒绝连接数(rejected_connections)也需要关注,这个值理想状态是 0 。如果大于 0,说明创建的连接数大于 maxclients,需要排查原因。是 Redis 连接池配合不合理还是连接这个Redis 的服务过多。

      4 阻塞客户端数量: blocked_clients 

      4.1 blocked_clients 通常是执行了 list 数据类型的 BLPOP 或者 BRPOP 命令引起的,可以通过[redis-cli info Clients|grep blocked_clients]得到,这个值最应该=0。

     
      5 使用内存峰值:

      5.1 监控 Redis 内存使用峰值,可以通过命令[config set maxmemory]设置允许使用的最大内存。

      5.2 为了防止发生 swap 导致 Redis 性能骤减,甚至由于使用内存超标导致系统kill,建议used_memory_peak(占  用内存的峰值)的值   与maxmemory 的值有个安全区间,例如1G。

      5.3 可用radis-stat 查看used_memory 图像化曲线 找到占用内存的峰值

      6 内存碎片率:used_memory_rss/use_memory 这两个值可用radis-stat监控

      6.1  mem_fragmentation_ratio = used_memory_rss/use_memory 当值大于1时,表示分配的内存超过实际使用的内存,数值越大[利用率不高],碎片率越严重。当这个值小于1时,表示发生了 swap(Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用) ,既可用内存不足。
      6.2  Redis4.0 有一个主要的特性就是优化内存碎片率问题(Memory de-fragmentation)。在redis.conf 配置文件中[ACTIVE DEFRAGMENTATION:碎片整理允许 Redis 压缩内存空间,从而回收内存。此特性默认是关闭的,可以通过命令CONFIG SET activedefrag yes 热启动这个特性]。
      6.3  当内存使用量(use_memory)很小的时候,这个值参考价值不大。所以建议 used_memory 至少 1G 以上才考虑对内存碎片率进行监控。


      7 缓存命中率:keyspace_misses+keyspace_hits  这两个值可用radis-stat监控

       7.1  keyspace_misses/keyspace_hits 这两个指标用来统计缓存的命中率,keyspace_misses值未命中次数,keyspace_hits 表示命令次数。keyspace_hits/(keyspace_misses+keyspace_hits) 就是缓存命中率。

       7.2  如果缓存命中率过低,那么要排查对缓存的用法是否有问题。


      8 OPS:instantaneous_pos_per_sec 表示缓存的OPS(operation per second 每秒操作次数)

      
       9  持久化:

       9.1 rdb_last_bgsave_status/aof_last_bgrewrite_status,即最近一次或者最后一次 RDB/AOF 持久化是否有问题,这两个值都应该时 “OK”。②、由于 Redis 持久化时会 fork 子进程,且 fork 是一个完全阻塞的过程,所以可以监控 fork     耗时即:latest_fork_usec,单位是微妙,如果这个值比较大会影响业务,甚至出现 timeout 。
       9.2  失效KEY:如果把 Redis 当缓存使用,那么建议所有的 key 都设置 expire 属性,通过命令 redis-cli info Keyspace 得到每个 db 中 key 的数量和设置了 expire属性的 key 的属性,且 expires(表示设置了超时时间的key个数) 需要 等于 keys。

  • 相关阅读:
    colorDialog颜色拾取
    ContextMenuStrip菜单
    C#根据当前时间确定日期范围(本周、本月、本季度、本年度及常见日期方法荟萃
    重设切片上下文
    DomainUpDown 控件
    SQL中使用WITH AS提高性能
    在Reporting Service中使用下拉框提供参数查询
    c# 发射机制
    Silverlight 浏览器外运行及更新判断
    自动化持续集成编译 配置 CruiseControl.Net SVN
  • 原文地址:https://www.cnblogs.com/guixie/p/11834599.html
Copyright © 2011-2022 走看看