INFO clients 看什么
INFO clients 是连接维度的入口指标:connected_clients 是当前连接数,blocked_clients 是正在等待阻塞命令(如 BLPOP、BRPOP)返回的客户端数,tracking_clients 是开启了客户端缓存的连接数,另外还有客户端输入输出缓冲的统计。连接泄漏、连接池配置失当、阻塞命令堆积,都会先在这里露出变化。
基本信息
| connected_clients | 当前连接数,对照 maxclients 看余量 |
|---|---|
| blocked_clients | 等待阻塞命令返回的客户端数 |
| tracking_clients | 启用客户端缓存的连接数 |
| client_recent_max_input_buffer | 近期单个连接的输入缓冲峰值 |
| client_recent_max_output_buffer | 近期单个连接的输出缓冲峰值 |
| mem_clients_normal | 普通客户端连接占用的内存(字段名随版本演进) |
典型使用场景
- 连接泄漏排查:连接数持续上涨不回落,怀疑客户端未释放
- 连接池核对:连接数远超副本数乘以池上限,说明配置或复用有问题
- 阻塞堆积定位:blocked_clients 上升意味着业务可能已感知超时
- 大响应观察:输出缓冲峰值偏高提示有客户端读取偏慢
- 容量规划:用连接上限反推可承载的客户端规模
常用取数
常用取数
redis-cli INFO clients | grep -E 'connected_clients|blocked_clients' # 连接与阻塞
redis-cli INFO clients | grep tracking_clients # 客户端缓存连接数
redis-cli INFO clients | grep -E 'client_recent_max_(in|out)put_buffer' # 缓冲峰值
redis-cli CONFIG GET maxclients # 上限与余量
redis-cli CLIENT LIST | head -5 # 看具体连接属性关键字段读法
| 字段 | 含义 | 异常信号 |
|---|---|---|
| connected_clients | 当前连接数 | 持续上涨不回落,怀疑泄漏 |
| blocked_clients | 阻塞命令等待数 | 长期高位说明阻塞在堆积 |
| tracking_clients | 启用客户端缓存的连接数 | 与预期不符时核对客户端配置 |
| maxclients | 服务端连接上限 | 接近上限会出现连接被拒绝 |
客户端缓冲相关字段名在不同版本之间有演进,采集脚本要同时兼容新旧字段名,否则升级后指标静默断档。
只盯连接总数会漏掉阻塞堆积:blocked_clients 长期处于高位时,业务侧表现为随机超时,而连接数看上去完全正常。