zoukankan      html  css  js  c++  java
  • redis 内存分析

    一、首先安装pip(最好yum安装,python安装的版本在安装rdbtools时报错)

    yum install -y pip
    或者编译安装
    wget
    "https://pypi.python.org/packages/source/p/pip/pip1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificat
    进入文件夹 python setup.py
    install

    二、安装redis-rdb-tools

    1.pypi安装

    pip install rdbtools

    2.编译安装

    git clone https://github.com/sripathikrishnan/redis-rdb-tools
    cd redis-rdb-tools
    sudo python setup.py install

    三、使用redis-rdb-tools

    1.开启RDB持久化或者手动生成RDB文件

    redis> BGSAVE

    2.用rdb生成内存快照

    rdb -c memory dump.rdb > memory.csv

    生成 CSV 格式的内存报告。包含的列有:数据库 ID,数据类型,key,内存使用量(byte),编码。内存使用量包含 key、value 和其他值。

    3.分析内存报告

    由于分析报告时csv格式,所以可以有多种分析方式,推荐sqlite和Mysql

    1.sqlite分析

    sqlite是python的软件库,sqlite无需配置,也没有进程(线程),本身就是个文件,而且支持SQL语句

    (1)导入分析报告

    sqlite3 memory.db
    sqlite> create table memory(database int,type varchar(128),key varchar(128),size_in_bytes int,encoding varchar(128),num_elements int,len_largest_element varchar(128),expiry varchar(50));
    sqlite>.mode csv #逗号分隔的值
    sqlite>.import memory.csv memory

    (2)查看分析报告

    查询key个数
    sqlite>select count(*) from memory;
    
    查询总的内存占用 sqlite
    >select sum(size_in_bytes) from memory;
    查询内存占用最高的10个 key sqlite
    >select * from memory order by size_in_bytes desc limit 10;
    查询成员个数1000个以上的 list sqlite
    >select * from memory where type='list' and num_elements > 1000 ;

    2.mysql分析

    查看分析与sqlite并无差别,主要差别在于导入(mysql可以略错误,sqlite不能)

    create table memory(db int,type varchar(128),keey varchar(128),size_in_bytes int,encoding varchar(128),num_elements int,len_largest_element varchar(128),expiry varchar(50));
    LOAD DATA INFILE '/logs/mysql_load/memory.csv' INTO TABLE memory character set latin1 ignore 1 lines;

    创建表的时候,由于database,key是敏感词,所以我把database,key这l两列改成了db,keey

    我在load data时有字符集的报错,所以该改成了latin1,必要的时候,在没有影响到主要的size_in_bytes数据时,可以添加ignore跳过错误

    LOAD DATA INFILE '/logs/mysql_load/memory.csv' ignore INTO TABLE memory ignore 1 lines;
  • 相关阅读:
    终极解码 FinalCodecs 2020 春节版 V5
    AutoCAD 2019.0.1 Update 官方简体中文版
    Adobe Flash Player 29.0.0.140官方正式版
    VMware Pro 14.1.2 官方正式版及激活密钥
    Visual Studio 2015 Update 2
    世界工资研究报告与借鉴
    Microsoft .NET Framework 4.6.1
    推荐算法之去重策略
    推荐算法之加权采样
    推荐系统之构建排行榜
  • 原文地址:https://www.cnblogs.com/Knight7971/p/10156137.html
Copyright © 2011-2022 走看看