大key简介
Redis是一种key-value数据库。大key即Key存储的value非常大,或hash/set/zset/list等结构中存储的value非常多。
大Key是影响Redis性能常见原因之一。由于Redis为key-value数据库,且主线程为单线程模型,读写大key可能会严重超时甚至阻塞同一节点下的其他操作,从而导致Redis性能下降。因此,需要即时发现并优化实例中的大Key,以保障业务性能。
控制台通过大Key分析,可以监控到占用空间过大的Key。
大key分析,目前仅支持标准版-单副本及标准版-双副本Redis实例。
对于标准版-双副本实例,大Key分析是对备节点的分析,因此对实例性能影响较小。对于标准版-单副本实例,是对主节点进行分析,客户访问性能会略有影响。
建议在业务低峰时段执行大Key分析,降低CPU使用率过高的风险;并且,大key分析时间不要与备份时间重叠。
Redis 4.0以后,引入了memory usage命令和lazyfree机制,对于大key发现、大key删除或者过期造成的阻塞问题都有明显的提升。
手动分析
1. 进入阿里云官网首页,点击页面右上角“管理控制台”,进入资源列表页面。
2. 在页面左上角,选择购买实例的地域。
3. 在资源列表页面,找到“云数据库”>“云数据库Redis”,点击进入云数据库Redis控制台。
4. 在实例列表页面,找到目标实例。单击目标实例名称,进入实例控制台管理功能模块。
5. 从左侧导航栏中进入“缓存分析大Key分析 手动分析”页签,单击“立即分析”按钮,并选择弹窗中“确定”按钮开始大key分析。
说明:若大key分析列表中某条记录状态为“分析中”,则此时不支持大key分析。状态:“成功”、“失败”、“分析中”、“超时”。
6. 分析任务完成后,您可以单击该记录行中“操作 查看”按钮,查看分析结果。
7. 当记录数达到14条后,您可以单击目标记录行中“操作 删除”按钮,删除目标分析记录。参考如所示。
自动分析
从左侧导航栏中进入“缓存分析大Key分析 自动分析”页签,单击“自动分析”按钮(自动分析功能,默认关闭),开启大Key自动分析。
开启自动分析功能后,单击“编辑设置”按钮,进行自动分析策略设置。单击“确定”,完成自动分析设置。
说明:
自动分析保留:每个实例默认最多保存35条分析记录,超过35条记录时默认删除最早的记录,存入最新的记录。
分析开始时间:该时间为触发分析的时间段(非分析时长),默认自动分析时间段为00:00~01:00。建议在业务低谷期间进行分析,且不要与配置的自动备份时间重叠。
如果实例中存在“分析中”任务,不会触发大Key分析。
分析任务完成后,您可以单击该记录行中“操作>查看”按钮,查看分析结果。
说明:
状态:“成功”、“失败”、“分析中”、“超时”。分析状态 “超时”表示,该分析记录时间操作22个小时。
操作-查看:前提是状态为成功。
当记录数达到35条后,您可以单击目标记录行中“操作>删除”按钮,删除目标分析记录。
说明:
操作-删除:前提是状态为“成功”或者“失败”。