redis-cli提供了--bigkeys来查找bigkey,例如下面就是一次执行结果:
-------- summary -------
Biggest string found 'user:1' has 5 bytes
Biggest list found 'taskflow:175448' has 97478 items
Biggest set found 'redisServerSelect:set:11597' has 49 members
Biggest hash found 'loginUser:t:20180905' has 863 fields
Biggest zset found 'hotkey:scan:instance:zset' has 3431 members
40 strings with 200 bytes (00.00% of keys, avg size 5.00)
2747619 lists with 14680289 items (99.86% of keys, avg size 5.34)
2855 sets with 10305 members (00.10% of keys, avg size 3.61)
13 hashs with 2433 fields (00.00% of keys, avg size 187.15)
830 zsets with 14098 members (00.03% of keys, avg size 16.99)
可以看到--bigkeys给出了每种数据结构的top 1 bigkey,同时给出了每种数据类型的键值个数以及平均大小。
bigkeys对问题的排查非常方便,但是在使用它时候也有几点需要注意:
建议在从节点执行,因为--bigkeys也是通过scan完成的。
建议在节点本机执行,这样可以减少网络开销。
如果没有从节点,可以使用--i参数,例如(--i 0.1 代表100毫秒执行一次)
--bigkeys只能计算每种数据结构的top1,如果有些数据结构非常多的bigkey,也搞不定,毕竟不是自己写的东西嘛
debug object
https://blog.csdn.net/weixin_47531845/article/details/108821372
最新评论: