相比Redis,云数据库 Tair(兼容 Redis)提供了维度更广、种类更多及功能更强大的可观测性能力(Observability)。
背景信息
可观测性是以系统的指标、日志、链路追踪三大数据支柱为基础,衍生出如数据监控、问题分析、系统诊断等一系列的能力。
指标(Metrics):记录一段时间内各个维度的量化信息,用来观察系统的某些状态和趋势。
日志(Logs):记录程序运行过程中产生的一些离散事件。
链路追踪(Traces):记录一次请求从接收到处理完成整个生命周期内的调用链路。
同时,云数据库 Tair(兼容 Redis)还基于三大数据支柱进行信息聚合,提供数据分析能力,下表为云数据库 Tair(兼容 Redis)与Redis的可观测性能力对比。为便于浏览和内容表达,表格约定使用下述注释:
✔️表示支持。
❌表示不支持。
➖表示不涉及。
可观测性能力 | Redis | 阿里云Redis开源版 | Tair(企业版) | |
指标 | ✔️ | ✔️(更细化) | ✔️(更细化) | |
日志 | ✔️ | ✔️ | ✔️ | |
✔️ | ✔️ | ✔️ | ||
❌ | ✔️ | ✔️ | ||
❌ | ✔️ | ✔️ | ||
链路追踪 | ➖ | ➖ | ➖ | ➖ |
分析能力 | ❌ | ✔️ | ✔️ | |
❌ | ✔️ | ✔️ | ||
❌ | ✔️ | ✔️ | ||
❌ | ✔️ | ✔️ |
链路追踪通常需要对客户端进行改造或由中间件提供。
指标
Redis提供了丰富的统计指标,包含Memory(内存分配、内存使用、内存碎片率情况等), Stats(连接数、命令、网络、同步状态等)、CPU使用情况、Keyspace信息等。云数据库 Tair(兼容 Redis)结合用户的使用体验,在Redis的基础上增加了更细化的指标,例如读QPS、写QPS等,更多信息请参见查看性能指标。
日志
云数据库 Tair(兼容 Redis)提供了查询运行日志、慢日志、审计日志、时延洞察等功能。
运行日志(Redis log)
按行输出Redis运行过程中的日志信息,记录运行过程中持久化、同步复制、报错信息以及代码中定义的调试记录等。
在控制台目标实例详情页的查询运行日志。
页签中,查看该实例的运行日志信息,更多信息请参见慢日志(Slowlog)
记录Redis中执行时间(不含命令排队与网络传输时间)超过指定阈值的请求,慢日志信息包含执行时间戳、执行时长、命令参数、客户端信息等。您可以通过该功能第一时间查询耗时过长的命令列表,并进行相应优化,避免线上服务发生阻塞。
在控制台目标实例详情页的查询慢日志。
页签中,查看该实例的慢日志信息,更多信息请参见审计日志(Audit log)
云数据库 Tair(兼容 Redis)基于日志服务SLS(Log Service),提供审计日志功能,每条审计日志包含日志类型、执行时长、DB序号、客户端IP、账户名、命令详细信息以及扩展信息等。基于该功能,为您提供在线查询、分析操作日志(包含敏感操作
FLUSHALL
、FLUSHDB
、DEL
等)、慢日志及运行日志等,并且支持导出。在控制台目标实例详情页的审计日志。
页签中,查看该实例的审计日志信息,更多信息请参见时延洞察(Latency metric)
时延洞察是云数据库 Tair(兼容 Redis)提供的升级版时延统计功能,支持记录多达27个事件及所有Redis命令的执行耗时,并支持保存最近3天内所有的时延统计数据。
在控制台目标实例详情页的时延洞察。
页签中,查看该实例的时延信息,更多信息请参见
分析能力
分析能力是基于指标、日志、链路追踪三大基础数据进行的信息聚合,是云数据库 Tair(兼容 Redis)重要的服务能力。
热Key与大Key分析
当某个Key接收的访问次数显著高于其它Key时,可以将其称为热Key(Hotkeys),若未能及时处理热Key可能会导致访问倾斜甚至缓存击穿等问题;当某个Key含有较多数据成员或者占用较大内存时,可以将其称为大Key(Big keys),若未能及时处理大Key会导致执行命令的耗时增加,严重时甚至引发内存溢出(Out Of Memory)。
您可以通过云数据库 Tair(兼容 Redis)的实时Top Key统计功能,帮助定位热Key与大Key,实时Top Key统计功能支持实时展示实例中的热Key和大Key信息,同时支持查看4天内大Key和热Key的历史信息。实时Top Key统计功能准确性高,且对性能几乎无影响,帮助您掌握Key在内存中的占用、Key的访问频次等信息,溯源分析问题,为您的优化操作提供数据支持。
在控制台目标实例详情页的实时Top Key统计。
页签中,进行热Key与大Key分析,更多信息请参见离线全量Key分析
离线全量Key分析功能支持全数据结构、全实例架构及Redis各个版本的离线RDB备份文件解析,对线上服务无影响。相比开源工具redis-rdb-tool的解析速度,离线全量Key分析在大小Key混合(占比1:9)的场景下实现4倍速度提升,在中大Key场景下实现20倍速度提升,同时保证进程内存占用固定维持在1 GB以内,避免大Key解析可能带来内存溢出的问题。离线全量Key分析还提供了最长子元素查询,方便进一步业务排查。
在控制台目标实例详情页的离线全量Key分析。
页签中进行分析,更多信息请参见实例诊断
云数据库 Tair(兼容 Redis)综合了性能指标、慢日志、key分析等能力,提供了一站式全链路的实例诊断功能,从性能水位、访问倾斜情况、慢日志等多方面评估实例的健康状况,并给出改善建议,极大程度地提高了Redis实例的自动化运维能力,降低使用成本。
在控制台目标实例详情页的实例诊断。
页签中,进行实例诊断,更多信息请参见