一、内存使用情况 redis-cli info #memory
1、总内存使用量(80%)。used_memory实际使用内存 used_memory_peak峰值,used_memory_rss系统分配给redis的总内存大小,包含内存碎片。
2、内存碎片。mem_fragmentation_ratio = used_memory_rss/used_memory
<1 表示Redis内存分配超出了物理内存,操作系统正在进行内存交换,内存交换会引起非常明显的响应延迟;
> 1.5 说明Redis消耗了实际需要物理内存的150%以上,其中50%是内存碎片率,可能是操作系统或Redis实例中内存管理变差的表现。
redis4.0以上手动回收内存碎片:memory purge 也可以开启自动内存回收:config set activedefrag yes
4.0之前,则需要重启实例,释放内存。
3、缓存命中率(70%),确保大部分请求都可以从内存中获取数据,而不是从磁盘。
maxmemory_policy:volatile-lru
二、连接数 redis-cli info #clients
1、当前连接数。connected_clients(仅当前实例,不包括slave),
blocked_clients:正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量。
2、total_connections_received 总连接数据。
rejected_connections:因为最大客户端数量限制而被拒绝的连接请求数量。
连接数/s,拒绝数/s。可以查看当前的连接情况。
三、命令执行 redis-cli info commandstats
instantaneous_ops_per_sec:每秒执行命令数
expired_keys:过期的数据库键数量。
evicted_keys:因最大内存容量限制而被驱逐的键数量。
key命中率= keyspace_hits(键空间命中数) / keyspace_misses(键空间未命中数)
total_net_input_bytes:网络流入总流量
total_net_output_bytes:网络流出总流量
慢SQL:redis.conf 文件先配置:
slowlog-log-slower-then 1000000 (1秒) 执行超过该值就被记录为慢SQL
slowlog-max-len 300 合计保留最近300条。
获取慢SQL列表:slowlog get N
四、持久化 redis-cli info persistence
rdb_last_bgsave_status/aof_last_write_status/aof_last_bgrewrite_status:最后一次持久化/AOF重写状态
rdb_last_save_time:1591876204 最后一次持久化保存磁盘的时间戳
aof_pending_bio_fsync:后台IO队列中等待fsync的任务数
aof_current_size:AOF当前文件大小
策略:三个条件中的任意一个,bgsave 命令就会被执行:
save 900 1 服务器在 900秒 之内,对数据库进行了至少 1次 修改。
save 300 10 服务器在 300秒 之内,对数据库进行了至少 10次 修改。
save 60 10000 服务器在 60秒 之内,对数据库进行了至少 10000次 修改。
五、CPU redis-cli info cpu
used_cpu_sys:Redis服务器耗费的系统CPU
used_cpu_user:Redis服务器耗费的用户CPU
used_cpu_sys_children:Redis后台进程耗费的系统CPU
used_cpu_user_children:Redis后台进程耗费的用户CPU
六、复制
maxmemory_policy:volatile-lru
master_role:主从连接状态
master_repl_offset:主从间这个变量的差距代表延迟的偏移量
cluster_enabled:是否使用集群
标签:used,Redis,redis,指标,内存,监控,memory,CPU From: https://www.cnblogs.com/rcsy/p/18181027