场景:有一台redis服务器压力很大,redis数据量也很大,想分析一下原因
查看dump.rdb文件的大小
du -smh *
1.6G dump.rdb
4.0K nodes-7004.conf
4.0K redis.conf
登录redis集群:
redis-cli -a 1 -h 192.168.23.50 -p 7003 -c
查看key的数量
> dbsize
(integer) 23085766
(0.83s)
注意:数据量太大的情况下不适宜用--bigkey
命令
使用rdb命令来获取bigkey
redis-rdb-tools 有两种安装方式,任选其一即可。
1、使用 PYPI 安装
pip install rdbtools
2、从源码安装
git clone https://github.com/sripathikrishnan/redis-rdb-tools.git
cd redis-rdb-tools/
python setup.py install
3.查看rdb命令的位置
which rdb
/usr/bin/rdb
4.接下来可以生成csv文件,记录bigkey了
/usr/bin/rdb -c memory /wjqdata/redis/rdb/dump.rdb --bytes 10240 -f /usr/local/redis/rdb/dump_memory.csv
-c FILE, –command=FILE #指定rdb文件;
--bytes:输出多大字节以上的key
-f:指定输出的文件
5.导出csv文件,自己分析
size_in_bytes:内存使用量包含key、value和其他值
想进一步了解rdb其他功能的,移步:
https://www.cnblogs.com/cheyunhua/p/10598181.html
本人也是参考的此篇博文