安哥网络 发表于 2016-1-9 16:09:04

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

读取memcached和redis中的数据,分析缓存数据大小
最近项目快要见人了,所以很多性能分析的需求又提出来了。之前已经做过几次类似的事情,这次记录下来把
    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里面进行分析就可很方便

http://itindex.net/detail/54195-memcached-redis-%E6%95%B0%E6%8D%AE读取memcached和redis中的数据,分析缓存数据大小
页: [1]
查看完整版本: 读取memcached和redis中的数据,分析缓存数据大小