查看性能监控
云数据库Redis版支持丰富的性能监控指标,您可以查询过去一个月内指定时间段的Redis监控数据,帮助您掌握Redis服务的运行状况和问题溯源。
操作步骤
- 访问Redis实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏,单击性能监控。
根据实例的架构类型,选择执行下述步骤:
若实例为主备架构:您仅需关注主节点的监控指标即可。
若实例为集群、读写分离架构:
您可以在
中查询集群、读写分离架构实例的整体性能。实例全局的监控指标为各子节点的聚合数据,不同监控指标的聚合方式不同(求平均值、求和等),例如实例全局的CPU使用率为所有子节点CPU使用率的平均值。您可以在
中查询到各个数据节点的监控指标。
同时,若实例带有Proxy节点,您也可以在
或 中查询Proxy的整体性能或各个Proxy节点的监控指标。
说明支持查询最近1个月的监控数据,且通常情况下最大查询范围不能超过3天,若集群实例有32及以上分片数,则仅支持查询1天的聚合数据。
将鼠标悬浮在趋势图的左上角的
图标上,可获取该性能指标的详细解释。
为避免对实例的运行产生影响,同时保障性能监控页面中趋势图的展示效果,在选择不同时间范围时,趋势图的数据展示粒度有所不同。
对于读写分离架构的Redis实例,聚合监控指标暂不包含只读读节点的监控指标。
各版本实例支持的监控项及其含义请查看控制台。
相关API与监控参数说明
API | 说明 |
查询Redis实例的历史性能监控信息。 |
调用OpenAPI时,请传入下表MonitorKeys列参数,系统将返回子监控项。Redis实例支持通用类监控项和命令统计类监控项。
通用类监控项
通用类监控项的使用说明如下,以CpuUsage为例:
查询所有数据节点(DB)整体的CPU使用率:您需要传入CpuUsage$db。
查询单个数据节点的CPU使用率:您需要传入CpuUsage,同时在NodeId参数指定DB节点。
查询所有Proxy节点整体的CPU使用率:您需要传入CpuUsage$proxy。
查询单个Proxy节点的CPU使用率:您需要传入CpuUsage,同时在NodeId参数指定Proxy节点。
MonitorKeys | 子监控项 | 单位 | 说明 | 支持范围 |
RedisCpuUsage | RedisCpuUsage | % | CPU使用率,范围为0~100。由于不同引擎的线程模型差异,不同系列实例的指标计算方式不同,请选择获取各实例对应的指标:
|
|
CpuUsage | CpuUsage | % | ||
MemoryUsage | memoryUsage | % | 内存使用率。 |
|
quotaMemory | quotaMemory | Bytes | 当前分片的内存总量。 |
|
UsedMemory | UsedMemory | Bytes | 已使用内存量,包含数据和缓存部分。 |
|
Tair_PmemUsage | PmemUsage | % | 分别为持久内存使用率、持久内存已使用量和持久内存的内存总量。 仅持久内存型实例支持。 |
|
Tair_Pmem | PmemUsed | Bytes | ||
PmemQuota | Bytes | |||
Redis_DetailedSpaceUsage | ins_size | MB | 分别为实例占用总磁盘空间、数据文件占用的磁盘空间(包括AOF、RDB文件)和日志文件占用的磁盘空间(包含运行日志)。 仅经典部署模式(原本地盘)的内存型实例支持。 |
|
data_size | MB | |||
log_size | MB | |||
Redis_Memory_Monitor | used_memory_rss | Bytes | 该进程所占的物理内存,即操作系统分配给Tair服务的内存。 |
|
used_memory_lua | Bytes | Lua脚本使用内存量。 | ||
used_memory_startup | Bytes | Tair启动时消耗的内存。 | ||
lazyfree_pending_objects | Counts | Tair执行lazy free操作,在等待被实际回收内容的键个数。 | ||
used_memory_overhead | Bytes | Tair为维护数据集的内部机制所需的内存开销,包括所有客户端的输出缓冲区、查询缓冲区和AOF。 | ||
used_memory_dataset | Bytes | 数据占用的内存空间。 | ||
UsedQPS | TotalQps | Counts/s | 每秒总请求数,包含读和写命令。 |
|
GetQps | Counts/s | 分别代表每秒读、写命令的请求数。实例的兼容版本需为Redis 4.0及以上。 | ||
PutQps | Counts/s | |||
OtherOps | Counts/s | 指PING、INFO、SELECT与AUTH等无读写属性的请求。由于Proxy对请求存在特殊处理,若实例带有Proxy节点,则OtherOps仅包含部分INFO请求。 | ||
ConnectionUsage | connectionUsage | % | 连接数使用率,计算方法:已连接数÷实例支持的总连接数。客户端通过直连地址连接至Redis实例(集群架构)时,此指标具备参考价值。 |
|
UsedConnection | ConnCount | Counts | 已使用连接数。 | |
QPSUsage | qpsUsage | % | QPS使用率。 |
|
IntranetIn | InFlow | KB/s | 入、出流量速率。 |
|
IntranetOut | OutFlow | KB/s | ||
IntranetInRatio | intranetInRatio | % | 入、出流量使用率。 |
|
IntranetOutRatio | intranetOutRatio | % | ||
Redis_Avg_Rt_Monitor | AvgRt | us | 平均时延,为节点从接收命令到发出响应的时延平均值。 |
|
Redis_Max_Rt_Monitor | MaxRt | us | 最大时延,从节点从接收命令到发出响应的时延最大值。 | |
Redis_Basic_Monitor | Keys | Counts | Key总数量,即实例存储的一级Key总数。 |
|
Expires | Counts | 实例中设置过期时间的Key数量,该指标展示的是采集数据时的瞬时值。 | ||
ExpiredKeys | Counts | 历史累计淘汰的Key总数。 | ||
EvictedKeys | Counts | 历史累计逐出的Key总数。 | ||
ExpiredKeysPerSecond | Counts/s | 每秒淘汰的Key数量。 | ||
EvictedKeysPerSecond | Counts/s | 每秒逐出的Key数量。 | ||
inmem_keys | Counts | 该参数仅混合存储型实例(已停售)支持,可忽略。 | ||
swapped_keys | Counts | |||
Hit_Rate_Monitor | hit_rate | % | 命中率计算方法:Key命中数÷(Key命中数+Key未命中数)。 |
|
hit | Counts | 每秒命中的Key数量。 | ||
miss | Counts | 每秒未命中的key数量。 | ||
evicted_keys_per_sec | Counts | 每秒被驱逐的Key数量。 | ||
DiskUsage | disk_usage | % | 分别为磁盘使用率、输入缓冲区占用大小、输出缓冲区占用大小和磁盘性能监控项,仅云盘(ESSD)型实例支持。 |
|
RocksDBConn | Tair_Connection_Monitor | Bytes | ||
Tair_Connection_Monitor | Bytes | |||
Tair_Disk_Monitor | io_bandwidth_kbps、iops、iops_usage等。 | %、ms、Counts等。 | ||
UsedConnection | ConnectionUsage | % | 连接数使用率,计算方法:已使用连接数÷实例支持的总连接数。客户端通过Proxy节点连接至Redis实例(集群或读写分离架构)时,此指标具备参考价值。 |
|
UsedConnection | Counts | 已使用连接数。 | ||
NewUserConnQps | Counts/s | 客户端到Proxy节点每秒建立的连接数。 | ||
Redis_Package_Monitor | request | Byte | 单个请求的平均字节数。 |
|
response | Byte | 单个响应的平均字节数。 | ||
request_max | Byte | 单个请求的最大字节数。 | ||
response_max | Byte | 单个响应的最大字节数。 | ||
RedisProxyConn | RedisUsedConnection | Counts | Proxy节点到数据节点的连接数。 | |
NewDBConnQps | Counts/s | Proxy节点到数据节点每秒建立的连接数。 | ||
DisconnectDBConn | Counts | Proxy节点到数据节点累计断连次数。 | ||
DisconnectUserConn | Counts | 客户端到Proxy节点的累计断连次数。 | ||
TotalCalls | TotalRefusedCommands | Counts | 累计拒绝命令数。 | |
TotalCallsPerSecCalls | Counts/s | 每秒请求数。 | ||
TotalCallsPerSecRetryCalls | Counts/s | 每秒请求重试数。 | ||
TotalCallsPerSecRetryFailed | Counts/s | 每秒失败请求数。 |
命令统计类监控项
命令统计类监控项仅支持查询指定DB。在查询时,您需要传入对应的MonitorKeys参数,同时还需要在NodeId参数指定DB节点。
Tair扩展命令监控组仅经典部署模式(原本地盘)的内存型实例支持。
MonitorKeys | 子监控项 | 单位 | 说明 |
Redis_Keys_Monitor | del、dump、exists、expire、expireat、move、persist、pexpire、pexpireat、pttl、randomkey、rename、renamenx、restore、sort、ttl、type、scan | Counts/s | 使用键值相关命令的监控信息,例如DEL、EXITS等命令的调用次数。 |
Redis_String_Monitor | append、bitcount、bitop、decr、decrby、get、getbit、getrange、getset、incr、incrby、incrbyfloat、mget、mset、msetnx、psetex、set、setbit、setex、setnx、setrange、strlen | Counts/s | 使用String数据类型相关命令的监控信息,例如APPEND、MGET等命令的调用次数。 |
Redis_Hashes_Monitor | hdel、hexists、hget、hgetall、hincrby、hincrbyfloat、hkeys、hlen、hmget、hmset、hset、hsetnx、hvals、hscan | Counts/s | 使用Hash数据类型相关命令的监控信息,例如HGET、HDEL等命令的调用次数。 |
Redis_Lists_Monitor | blpop、brpop、brpoplpush、lindex、linsert、llen、lpop、lpush、lpushx、lrange、lrem、lset、ltrim、rpop、rpoplpush、rpush、rpushx | Counts/s | 使用Lists数据类型相关命令的监控信息,例如BLPOP、BRPOP等命令的调用次数。 |
Redis_Sets_Monitor | sadd、scard、sdiff、sdiffstore、sinter、sinterstore、sismember、smembers、smove、spop、srandmember、srem、sunion、sunionstore、sscan | Counts/s | 使用Sets数据类型相关命令的监控信息,例如SADD、SCARD等命令的调用次数。 |
Redis_Zset_Monitor | zadd、zcard、zcount、zincrby、zrange、zrangebyscore、zrank、zrem、zremrangebyrank、zremrangebyscore、zrevrange、zrevrangebyscore、zrevrank、zscore、zunionstore、zinterstore、zscan、zrangebylex、zlexcount、zremrangebylex、zpopmin、zpopmax、bzpopmin、bzpopmax | Counts/s | 使用Zset数据类型相关命令的监控信息,例如ZADD、ZCARD等命令的调用次数。 |
Redis_Hyperlog_Monitor | pfadd、pfcount、pfmerge | Counts/s | 使用HyperLogLog数据类型相关命令的监控信息,例如PFADD、PFCOUNT等命令的调用次数。 |
Redis_Pub_Sub_Monitor | psubscribe、publish、pubsub、punsubscribe、subscribe、unsubscribe | Counts/s | 使用发布与订阅(Pub/Sub)功能相关命令的监控信息,例如PUBLISH、SUBSCRIBE等命令的调用次数。 |
Redis_Transaction_Monitor | discard、exec、multi、unwatch、watch | Counts/s | 使用事务(Transaction)相关命令的监控信息,例如WATCH、MULTI等命令的调用次数。 |
Redis_Scripting_Monitor | eval、evalsha、script | Counts/s | 使用Scripting相关命令的监控信息,例如EVAL、EVALSHA等命令的每秒调用次数。 |
Calls_Monitor | flushall_calls、flushdb_calls、keys_calls | Counts | FLUSHALL、FLUSHDB、KEYS命令累计调用次数。 |
Redis_Connection_Monitor | auth、echo、ping、quit、select | Counts/s | 使用Connection相关命令的监控信息,例如AUTH、ECHO等命令的每秒调用次数。 |
Redis_Server_Monitor | bgsave、client、command、config、dbsize、debug、flushall、flushdb、info、monitor、slowlog、time | Counts/s | 使用Server相关命令的监控信息,例如BGSAVE、CONFIG等命令的每秒调用次数。 |
Redis_Geo_Monitor | geoadd、geohash、geopos、geodist、georadius、georadiusbymember | Counts/s | 使用Geo相关命令的监控信息,例如GEOADD、GEOHASH等命令的每秒调用次数。 |
Redis_Streams_Monitor | xinfo、xadd、xtrim、xdel、xrange、xrevrange、xlen、xread、xgroup、xreadgroup、xack、xclaim、xpending | Counts/s | 使用Streams相关命令的监控信息,例如XINFO、XADD等命令的每秒调用次数。 |
Redis_TairDoc_Monitor | jsondel、jsonget、jsonmget、jsonset、jsontype、jsonnumincrby、jsonstrappend、jsonstrlen、jsonarrappend、jsonarrpop、jsonarrinsert、jsonarrlen、jsonarrtrim | Counts/s | Doc监控组,使用Doc相关命令的监控信息,例如JSON.SET、JSON.GET等命令的调用次数。 |
Redis_TairHash_Monitor | exhset、exhsetnx、exhmset、exhexpireat、exhexpire、exhmsetwithopts、exhpexpireat、exhpexpire、exhpttl、exhttl、exhver、exhsetver、exhincrby、exhincrbyfloat、exhget、exhgetwithver、exhmget、exhdel、exhlen、exhexists、exhkeys、exhvals、exhgetall、exhmgetwithver、exhsterlen、exhscan | Counts/s | exHash监控组,使用exHash相关命令的监控信息,例如EXHSET、EXHMSET等命令的调用次数。 |
Redis_TairString_Monitor | cas、cad、exset、exget、exsetver、exincrby、exincrbyfloat、excas、excad | Counts/s | exString监控组,使用exString相关命令的监控信息,例如EXSET、EXGET等命令的调用次数。 |
Redis_TairGis_Monitor | gisadd、gisget、gisdel、gissearch、giscontains、gisintersects、gisgetall | Counts/s | GIS监控组,使用GIS相关命令的监控信息,例如GIS.ADD、GIS.GET、GIS.DEL等命令的调用次数。 |
Redis_TairBloom_Monitor | bfadd、bfmadd、bfexists、bfmexists、bfinsert、bfreserve、bfdebug | Counts/s | Bloom监控组,使用Bloom相关命令的监控信息,例如BF.RESERVE、BF.ADD等命令的调用次数。 |