作者:任仲禹
爱可生 DBA 团队成员,擅长故障分析和性能优化,文章相关技术问题,欢迎大家一起讨论。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
背景
问题发生背景为某生产 Redis 集群(版本 Redis 5.0.10 ,架构为 30 片以上),该集群中某一个分片内存使用率异常高(内存占用达70%以上,其它片内存相对使用较低),我们模拟生产环境如下监控图所示:

相信看文章标题大家都已知道问题结论,我这里想跟大家分享的是排查这种问题的方法。
诊断
内存使用分布监控
- 查看内存使用分布发现,该异常分片实例内存 Redis 使用为356M左右,单个 redis 最大可用内存512M
- 其它正常分片 redis 内存使用为100M 以内

异常与正常实例内存使用对比
- 观测到异常实例的数据量(info keyspace)相对还少一点
- 但异常实例 数据对象占用内存为其它正常实例2倍
### 正常实例
redis-cli -p 6380 -h 10.186.62.28 info keyspace ##数据量
# Keyspace
db0:keys=637147,expires=0,avg_ttl=0
redis-cli -p 6380 -h 10.186.62.
Redis内存异常排查

本文介绍了一种Redis集群中内存分布不均的问题排查方法。通过对异常分片实例的内存使用情况进行对比分析,结合bigkeys扫描结果,定位到两个大键导致的内存异常占用,并通过memory usage命令进一步确认。
最低0.47元/天 解锁文章
548

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



