REDIS排查
REDIS排查
登录
# 无密码
docker exec -it redis容器名 redis-cli
# 有密码登录(屏蔽警告)
docker exec -it redis容器名 redis-cli -a 你的密码 --no-auth-warning
# 指定端口/多实例
docker exec -it redis redis-cli -p 6380 -a xxx
查看指标
#1. 查看全部运行指标
INFO
#2【重中之重】查看客户端连接信息(连接数、堆积、阻塞)
INFO clients
#关键查看字段
connected_clients: 128 # 当前实时活跃总连接数
blocked_clients: 0 # 被阻塞的连接(BLPOP/BRPOP等阻塞命令)
client_longest_output_list: 0 # 输出缓冲区堆积,数值大=客户端读不动,会断连
client_biggest_input_buf: 0 # 输入缓冲区堆积,大量写入阻塞Redis主线程
#3. 查看每一条连接详细信息(哪个 IP、空闲多久、执行什么命令)
CLIENT LIST
返回字段含义:
addr=172.17.0.1:51234:客户端 IP 端口
idle=120:空闲秒数(几百上千说明连接池泄漏)
cmd=get:最后执行的命令
#4. 全局连接统计(历史总连接、缓存命中率)
INFO stats
total_connections_received: 32689 # Redis启动后累计接收总连接数
total_commands_processed: 120万 # 总执行命令
keyspace_hits / keyspace_misses # 缓存命中/未命中,miss过高代表缓存失效
#5. 服务器基础状态(最大连接限制、运行时长)
INFO server
CONFIG GET maxclients # 查看Redis最大允许连接数,默认10000
#6. 内存状态(内存打满会主动踢连接、OOM 宕机)
INFO memory
关注:used_memory_human、内存碎片率、内存峰值,容器内存限制过小会直接被 Docker 杀死 Redis 进程。
#7. 慢查询排查(Redis 卡顿、响应慢根源)
# 查看慢查询阈值配置
CONFIG GET slowlog*
# 打印最近10条慢命令
SLOWLOG GET 10
强制杀死异常 / 闲置连接
# 根据IP断开连接
CLIENT KILL addr=172.17.0.1:54321
# 清空所有普通客户端连接
CLIENT KILL type=normal
浙公网安备 33010602011771号