BigKey,我们称之为 Redis 系统的洪水猛兽,据初步统计,Redis 的问题 80% 是由 BigKey 导致。
如下图所示:集群中有4个分片,每个分片大约有 102个 key,实际上是均匀 分布。图中第三个分片有个 key 是 hash301,存放了 200 万个 hash field,根据 hash301打散的这个 key 就是个 BigKey,造成了严重的数据倾斜。
其他分片只用了 10%或 20%的内存,第三个分片用了约 80%,而且大概率是 热点。上图的使用方式会造成一个问题:有一个分片内存满了,访问出了问题, 其他分片却很空闲,整体集群利用率低。此外,BigKey 大概率是热点,第三个 分片的访问频率会比较高,访问流量会打满网卡或者 CPU,从而导致限流,服 务可能就夯住了。
资源来源于《阿里云数据库运维实战问题改》
https://developer.aliyun.com/topic/download?spm=a2c6h.20345107.J_6399686890.1.2e1e17dbzKUX5r&id=8198
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。