背景:
某证券公司APP业务,使用了腾讯云的云数据库redis(TencentDB for Redis)集群版本,2024.6.20运维童鞋反馈,近几周redis的内存量增长很快,日均增加2%,redis集群已经接近80%使用内存(图片待补充)


排查过程:
排查内存暴涨原因:
腾讯云提供的运维平台只能看出来某些bigkey,但咨询业务开发后发现该bigkey的数量可控,不会是引起内存暴涨的原因。

腾讯云运维平台,无法根据key前缀显示内存大小,此时无法定位到是哪些key引起的,问题卡在这里。
新的排查思路:
(1)根据运维反馈,是最近几周redis才开始出现内存暴涨问题,猜测可能原因是最近几周新上的某些业务写入了很多用户维度的key。
(2)如果我们能登录到某个redis存储节点上 ,用scan指令查看是否有大量相同前缀的key,或许就能够找到一些思路。
(3)顺着这个思路, 结合之前关于redis集群的相关知识储备,在集群模式下,redis客户端会拿到集群下所有的node节点,维护所有的分片node(16384槽位的一部分)的ip,然后针对该ip进行读写操作。 因为生产环境执行scan指令比较危险,所以打算复刻一份数据到测试环境进行检测
(4)运维 下载 生产的RDB文件, 整库备份到测试环境的redis中
(5)登录到r


2596

被折叠的 条评论
为什么被折叠?



