云数据库Redis版对十余组指标进行实时监控,帮助您掌握Redis服务的运行状况。您可以在本文中了解每个监控指标的作用。

监控频率与监控周期

性能监控系统采集监控数据的频率即监控频率。如果系统每5秒采集一次数据,则监控频率为5秒/次,一个监控周期(也称采集周期)为5秒。修改监控频率的方法请参见修改监控频率

说明 监控频率默认为60秒/次。

监控组

您可以在不同的监控组之间切换显示,操作步骤请参见自定义监控项。下表对监控组进行了说明。

监控组 说明
基础监控组 实例信息等基本监控信息,包含QPS、带宽及内存使用情况等。
Keys监控组 使用键值相关命令的监控信息,例如DEL、EXITS等命令的调用次数。
String监控组 使用string数据类型相关命令的监控信息,例如APPEND、MGET等命令的调用次数。
Hashes监控组 使用hash数据类型相关命令的监控信息,例如HGET、HDEL等命令的调用次数。
Lists监控组 使用Lists数据类型相关命令的监控信息,例如BLPOP、BRPOP等命令的调用次数。
Sets监控组 使用Sets数据类型相关命令的监控信息,例如SADD、SCARD等命令的调用次数。
Zset监控组 使用zset数据类型相关命令的监控信息,例如ZADD、ZCARD等命令的调用次数。
HyperLog监控组 使用HyperLogLog数据类型相关命令的监控信息,例如PFADD、PFCOUNT等命令的调用次数。
Pub/Sub监控组 使用发布与订阅(Pub/Sub)功能相关命令的监控信息,例如PUBLISH、SUBSCRIBE等命令的调用次数。
Transaction监控组 使用事务(transaction)相关命令的监控信息,例如WATCH、MULTI、EXEC等命令的调用次数。
Lua脚本监控组 使用Lua脚本相关命令的监控信息,例如EVAL、SCRIPT等命令的调用次数。

基础监控组指标说明

监控指标 单位 说明 统计方法
CpuUsage % CPU使用率 采集时的CPU使用率
UsedMemory Bytes 已使用的内存 采集时的内存使用量
TotalQps Counts/s 实例每秒接收的请求次数 监控周期内请求数/监控周期
ConnCount Counts 连接数 采集时的连接数
InFlow KBps 实例每秒接收的数据量 监控周期内接收数据的总量/监控周期
OutFlow KBps 实例每秒发送的数据量 监控周期内发送数据的总量/监控周期
FailedCount Counts/s 平均每秒产生的异常请求数 监控周期内总的异常请求数/监控周期
AvgRt us 所有请求的平均响应时间
说明 详细说明请参见响应时间(RT)指标
监控周期内所有请求的处理时间/监控周期内的请求个数
MaxRt us 请求的最大响应时间
说明 详细说明请参见响应时间(RT)指标
监控周期处理单个请求的最长耗时
Keys Counts key的总数 采集时key的个数
Expires Counts 设置了过期时间的key总数 截止到采集时的累计值,实例重启后重新计算。
ExpiredKeys Counts 已过期的key总数 截止到采集时的累计值,实例重启后重新计算。
EvictedKeys Counts 因内存满而淘汰的key总数 截止到采集时的累计值,实例重启后重新计算。
request Bytes 一个监控周期内Redis节点接收到的请求数据的总量 参见左侧说明。
response Bytes 一个监控周期内Redis节点发出的响应数据的总量 参见左侧说明。
request_max Bytes 一个监控周期内单次请求数据大小的最大值 参见左侧说明。
response_max Bytes 一个监控周期内单次响应数据大小的最大值 参见左侧说明。
traffic_control_input Counts 触发下行流量控制的次数
说明 流量超过实例带宽限制时可能触发流量限制,此时您可以临时调整带宽
采集周期内的累计值
traffic_control_output Counts 触发上行流量控制的次数 采集周期内的累计值
traffic_control_input_status Counts 监控周期内是否触发过下行流量控制,0表示未触发,1表示曾经触发。 参见左侧说明
traffic_control_output_status Counts 监控周期内是否触发过上行流量控制,0表示未触发,1表示曾经触发。 参见左侧说明
hit_rate % 请求的命中率,即尝试访问数据时,数据存在于Redis实例中的概率。 监控周期内命中的请求在总请求数中所占的百分比
hit Counts 命中的请求数 监控周期内命中的请求数
miss Counts 未命中的请求数 监控周期内未命中的请求数
evicted_keys_per_sec Counts/s 每秒淘汰key的个数 监控周期内淘汰key总数/监控周期

其它监控组指标说明

除基础监控组外,其它监控组包含的都是有关特定类型的数据或者特定功能的监控指标,这些监控组中的指标分为如下两类:

  • 反映命令使用次数的指标。例如Keys监控组中的deldumpexists指标监控的是DEL、DUMP、EXISTS命令的使用次数。

  • 命令响应时间(RT)指标。例如Keys监控组中的del_avg_rtdump_avg_rtexists_avg_rt等以avg_rt结尾的指标监控的是DEL、DUMP、EXISTS命令在一个监控时间段中的平均响应时间。

您只需根据指标名称辨别其分类即可了解指标的作用。

响应时间(RT)指标

所有监控组中都有关于响应时间的指标,这些指标一般以Rt或者rt结尾,例如基础监控组中的AvgRtMaxRt或者Keys监控组的del_avg_rtexists_avg_rt

基础监控组中的AvgRtMaxRt在所有响应时间类指标中最为常用。这两个指标在proxy节点和数据节点中代表的意义不同,详细说明如下。

  • 集群版或读写分离版实例中,proxy节点的AvgRt指标反映了proxy节点处理所有命令平均消耗的时间,处理过程包含以下阶段:
    1. proxy节点接收到请求,转发给数据节点。
    2. 数据节点处理请求并回复proxy节点。
    3. proxy节点转发出处理结果。
    proxy的AvgRt时间包含了数据节点处理命令的时间、等待时间以及proxy节点和数据节点之间的网络消耗时间。
  • 在集群版与读写分离版实例的数据节点或者标准版实例中,AvgRt指标反映了数据节点处理所有命令平均消耗的时间,即从数据节点接收命令到返回处理结果所花费时间。该时间与proxy节点的行为以及网络耗时无关。
  • MaxRt代表请求的最大响应时间,在各版本Redis实例中的统计方式与上述AvgRt的统计方式相似。