redis活跃非活跃连接数统计及client list说明
创始人
2024-03-22 11:43:11
0

概念说明

  • 活跃连接是指当下正在执行命令的连接,非活跃当然是相对的。

  • 在redis中判断当前连接是否活跃是通过 内置的client list 命令输出中的idle来判断

client list字段说明

(kfzops) [root@test-xxx-01-vm ]# redis-cli -h r-xxxxxxxxxxxx.redis.rds.aliyuncs.com
r-xxxxxxxxxxxx.redis.rds.aliyuncs.com:6379> client list
id=1106439 addr=172.16.0.2:48012 fd=17 name= age=354261 idle=2 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=20504 events=r traffic-control=NULL cmd=info user=default type=vpc real_addr=
  • addr 是指连接到redis实例的客户端地址和端口

  • fd 套接字所使用的文件描述符

  • name 客户端名称,目前发现都是为空

  • age 已连接时长,单位为秒(s)

  • idle 空闲时长,单位为秒(s)

  • flags 客户端flag,详细说明参考后续 《客户端标志取值说明》

  • db 客户端正在使用的数据库ID

  • sub 频道订阅数量

  • psub 模式匹配的订阅数量

  • multi MULTI/EXEC上下文中的命令数

  • qbuf 输入缓冲区大小,单位为字节(Byte),0 表示没有分配查询缓冲区 : 查询缓冲区的长度(字节为单位, 0 表示没有分配查询缓冲区)

  • qbuf-free 输入缓冲区剩余大小,单位为字节(Byte), 0 表示没有剩余空间

  • obl : 输出固定缓冲区大小,单位为字节(Byte), 0 表示没有分配输出缓冲区

  • oll : 输出列表包含的对象数量(当输出缓冲区没有剩余空间时,命令回复会以字符串对象的形式被入队到这个队列里)

  • omem : 输出缓冲区大小,单位为字节(Byte), 0 表示没有剩余空间

  • events 文件描述符事件

    • r:客户端套接字在事件Loop中可读。
    • w:客户端套接字在事件Loop中可写。
  • cmd 最近一次执行的命令


客户端标志取值说明:

A:尽快关闭连接。
b:客户端正在等待阻塞事件。
c:写入全部回复后将关闭连接。
d:受监视的键已被修改,EXEC命令将失败。
i:客户端正在等待虚拟机I/O操作(已废弃)。
M:客户端是主节点。
N:未设置特点标志。
O:处于监视模式的客户端。
r:客户端是只读模式的集群节点。
S:客户端是一般模式下的从节点。
u:客户端未被阻塞。
U:通过Unix域套接字连接的客户端。
x:客户端正在执行事务。

工具脚本

这里也提供一个工具脚本, 支持密码和非标准的6379端口

结果展示如下:

image-20221206152740785

工具代码如下

#!/usr/bin/env bash
# encoding: utf-8
#host=""
port=""
password=""# 没有参数则输出用法提示
if [ $# -eq 0 ]
thenecho -e "Usage:\n\t$0 host [port] [password]"exit 0
fi#  host/port/password
if [ $# -eq 3 ]
thenhost=$1port=$2password=$3
# host/port 
elif [ $# -eq 2 ]
thenhost=$1port=$2
# host and port is 6379
elsehost=$1port=6379
fi
# 使用 redis-cli的绝对路径
cmd=$(which redis-cli)
if [ "x$password" == "x" ]
thencheck_url="$cmd -h $host -p $port client list"
elsecheck_url="$cmd -h $host -p $port -a $password client list"
fi# 阿里云 Redis的 client list 记录Demo
# id=1106452 addr=172.16.2.2:48038 fd=20 name= age=354237 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 argv-mem=0 obl=0 oll=0 omem=0 tot-mem=66560 events=r traffic-control=NULL cmd=hmget user=default type=vpc real_addr=printf "%-35s| %-19s| %-19s| %-10s| %-20s| %-16s| %-16s|%s\n" 客户端连接地址 已连接时长 空闲时长 客户端flag db 订阅 事件 命令
$check_url |awk '{printf "%-28s| %-14s| %-14s| %-14s| %-14s| %-14s| %-14s|%s\n", $2, $5, $6, $7, $8, $9, $19, $21}'

参考地址:

1、https://help.aliyun.com/document_detail/454164.htm?spm=a2c4g.11186623.0.0.529932b8acNZq8#main-107864

相关内容

热门资讯

望城最新政策!即征即奖! 即征即奖政策解读 一、活动对象: 望城区2025年3月1日以后履行拆房腾地义务的拆迁安置补偿对象。 ...
流动摊贩违规添加食品添加剂,公... 极目新闻通讯员 王粲 以公开促公正、以听证赢公信,近日,湖北省团风县检察院就甄某销售不合格食品行政公...
浙江义乌首创商会退出机制 制度... 中新网义乌12月27日电 题:浙江义乌首创商会退出机制 制度化探索获全国推广 作者 董易鑫 “我们正...
《办法》:建立身份透明制度,划... 专家解读|促进人工智能拟人化互动服务有序开展引领人工智能负责任创新 人工智能技术的突破正推动人机交互...
探寻强制执行律师服务,周云卿律... 在法律纠纷中,胜诉只是第一步,真正实现权益落地,强制执行环节至关重要。那么,强制执行律师服务哪家强?...
李宏毅直播称活动因不可抗力取消... 12月25日,艺人李宏毅因与芒果娱乐的经纪合同纠纷,被法院执行约1118万元款项,同时收到限制消费令...
法援故事|法援“撑腰”!13名... 绿色通道,法援接单 春节前,农民工们多次向县住建局清欠办反映情况,在工作人员协调下,郭某某给部分人出...
山西黄河壶口瀑布旅游区推出免门... 公众号转载山西经济日报稿件,须申请授权。 山西黄河壶口瀑布旅游区日前发布消息,从12月下旬至明年2...