您的位置:首页 > 数据库 > Memcache

读取memcached和redis中的数据,分析缓存数据大小

2015-12-22 10:41 816 查看
最近项目快要见人了,所以很多性能分析的需求又提出来了。之前已经做过几次类似的事情,这次记录下来把

    Memcached不能一次性读取所有的key,不能一次性读取缓存数据。以前项目里面踩过这个坑,stats cachedump $slabId $limit只会dump出2M的key,如果所有的key超多2M那么dump出哪些key就要看命了。以前想了个野路子的办法,把memcached的源码中限制cachedump 的大小的变量改大再编译安装。现在的做法如下:
    libmemcached是一个专门的memcached的工具集,包含了:

memcat
memcp
memdump
memerror
memflush
memrm
memslap
memdump

memstat --server=localhost >1.txt 

    可以dump出所有的key

memcat --servers=localhost `memdump --servers=localhost` > 1.txt

    到处所有的value

    安装libmemcached也很方便,yum就搞定了

    redis里面的数据要导出来,以前使用的办法是redis-dump导成json,然后在想办法分析。

    最近找了个不错的工具:rdbtools 网站:https://github.com/sripathikrishnan/redis-rdb-tools 工具是python的,使用pip安装就可以了

rdb -c memory /var/redis/6379/dump.rdb > memory.csv

    直接导出数据,到excel里面进行分析就可很方便
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: