• Redisrdbtools与rdr工具学习与使用


    Redis-rdb-tools与rdr工具学习与使用


    简要说明

    • rdb工具是python写的一套工具,可以分析dump文件,获取key等信息.
    • rdb其实有一套rdb-profiler工具, 能够导出为html文件,但是发现已经太久了已经无法解析了.
    • rdr 工具是雪球开源的一套简易的redis dump文件分析工具, 能够简要进行展示较大值的key
    • rdr 的命令简单,但是今天发现他的数据值并不是非常精确.这里也总结一下,放在最后面.

    rdb 工具简要说明

    • 安装
    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
    # 安装必须的部分组件
    # 注意 我选用了之前离线安装python3以及pip的目录. 可以直接使用相对路径进行安装和处理
    cd /opt/python3/bin
    ./pip install rdbtools -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
    # 注意编译好了 再其他环境上可以复制整个python3的目录.用来使用.
    
    • 这边引用一下之前写过的内容
    https://mp.weixin.qq.com/s?__biz=MzU2MTA2MzQyNw==&mid=2247484342&idx=1&sn=a82bcff79faabf6ed308717bb46544f5&chksm=fc7f30dacb08b9cc7d19ec7ed7b03bde3cb52cd8bf5cb07bb68b4acab5a2b7576a238ead90dd&token=55803608&lang=zh_CN#rd
    

    • 简单使用-获取redis的dump文件
    第一步修改获取python3 刚才的文件夹 解压缩到 /opt/ 目录下面
    第二步修改环境变量 echo 'PATH=$PATH:/opt/python3/bin/' > /etc/profile.d/python3.sh
    第三步是环境变量生效: source /etc/profile.d/python3.sh
    第四步生成redis的数据文件: 
    redis-cli
    config get dbfilename
    config get dir
    # 获取相关的目录文件
    save 
    # 或者使用bgsave 
    # 注意bgsave 不会阻断当前进程, 但是会fork 一个同样redis使用内存的进程来保存.
    

    • 简单使用-简单分析以及命令
    # 分析出来所有的键值对信息
    rdb -c memory /dump.rdb -f /redis.txt
    # 分析不同类型键值对的数量
    cat /redis.txt |awk -F "," '{print $2}' |sort |uniq -c |sort -k1hr
    # 最大的十个values对应的key以及类型 大小KB
    cat /redis.txt |awk -F "," '{print $4/1024" "$2" "$3 }' |sort -k1hr |head -n 10
    
    • 这里其实还有一个命令可以分析一下 client的简直对信息
    redis-cli client list |awk '{print $18}' |sort |uniq -c |sort -k1hr
    

    第二部分简单写一下 rdr

    rdr的简单使用


    简单说明

    • rdr 全名 redis database reveal
    • 是雪球在github开源的一个redis数据库分析软件.
    • 操作方法时通过redis的dump.rdb文件解析出来键值对的多少以及分布.

    获取

    • 下载地址为:https://github.com/xueqiu/rdr
    • 下载非常简单. 直接后去即可.
    • 我这边将 rdr-linux 放置到了/usr/bin目录下并且改名为/rdr 增加执行权限就完成安装.

    redis 获取 dump文件

    • rdr工具解析的是redis的dump文件.
    • redis的dump文件可以通过save字段进行处理, 也可以手工获取.
    • 我这边为了性能都是不允许保存的获取dump文件的方式为
    redis-cli
    save 
    # 获取保存目录和名字的方法
    config get dir
    config get dbfilename
    # 如果记不住可以使用 config get * 来过滤查看.
    

    简要分析

    • 执行分析的命令很简单
      rdr show -p 8888 /dump.rdb
    • 然后打开网页就可以查看

    redis 的stat 命令

    • rdr 解析的是key values 等的信息
    • stat 命令可以查看链接等信息.
    redis-cli --stat -i 3
    # 注意这个命令是通过陈老师那边获取到的
    可以查看内存 连接数 以及请求数量 -i 指代刷新时间 单位为秒数
    可以比较简单的查看应用启动过程中的连接内存数据.
    也可以看到key value值的数目.
    rdr 是进行键值对分析的 stat 是实时分析用的.
    
  • 相关阅读:
    2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest C
    Codeforces Round #445 div.2 D. Restoration of string 乱搞
    hdu 6228 Tree
    数塔(入门级dp)
    逆序数(归并排序和树状数组)
    poj2104 K-th Number 主席树入门;
    Codeforces Round #466 (Div. 2)F. Machine Learning 离散化+带修改的莫队
    Codeforces Round #470 (rated, Div. 2, based on VK Cup 2018 Round 1)C. Producing Snow+差分标记
    2038: [2009国家集训队]小Z的袜子(hose)+莫队入门
    Codeforces Round #220 (Div. 2)D. Inna and Sequence 树状数组+二分
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/16156761.html
Copyright © 2020-2023  润新知