排查Redis大Key工具安装使用
1、简介
rdb_bigkeys,这是用go写的一款工具,分析rdb文件,找出文件中的大key,实测发现,不管执行时间还是准确度都是很高的,一个3G左右的rdb文件,执行完大概两三分钟,直接导出到csv文件,方便查看,比较推荐使用该工具去查找大key。
线上遇到redis CPU高与网卡带宽跑满的情况, 很明显的bigkey问题, 但使用一个开源的以python编写的redis RDB分析工具来分析big key, 分析
150MB的RDB文件花了一个小时, 这太慢了, 因此使用go重新写了个分析RDB文件来找出big key的工具rdb_bigkeys
速度很快, 同样分析150MB的RDB文件, 只要1分2秒。
生成的bigkey报告为CSV格式:
使用很简单,全部就下面提到的5个参数:
./rdb_bigkeys --bytes 1024 --file bigkeys_6379.csv --sep 0 --sorted --threads 4 dump6379.rdb
上述命令分析dump6379.rdb文件中大于1024bytes的KEY, 由大到小排好序, 以CSV格式把结果输出到bigkeys_6379.csv的文件中
2、Golang安装
此工具是百分百golang所写,因此使用需要安装go环境
2.1、wegt 安装
#wegt 在线安装命令
wget https://dl.google.com/go/go1.12.6.linux-amd64.tar.gz
2.2、 解压.tar.gz
#解压命令:
tar -zvxf go1.12.6.linux-amd64.tar.gz
2.3、验证是否安装成功
#验证安装是否成功
go version
2.4、配置PATH变量
2.4.1、使用pwd 拷贝路径
2.4.2、vim profile文件
2.4.2.1、在/etc/profile
文件末尾添加以下变量,然后ESC键,wq退出:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# 启用 Go Modules 功能
export GO111MODULE=on
# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io
2.4.2.2、刷新环境变量配置文件
source /etc/profile
2.4.2.3、go env
go env
在任意路径输入显示版本号即配置成功:
go version
3、rdb_bigkeys 安装
3.1、git命令克隆项目
git clone https://github.com/weiyanwei412/rdb_bigkeys.git
拉取项目完成cd进入此目录
3.2、生成rdb_bigkeys可执行文件
# 远程拉取或更新代码包及其依赖包,并自动完成编译和安装
go get
# 生成rdb_bigkeys可执行文件
go build
绿色文件执行go 命令之后生成的可执行文件
3.3、使用rdb_bigkeys工具生成csv文件命令
./rdb_bigkeys --bytes 1024 --file bigkeys_1024.csv --sep 0 --sorted --threads 4 /data/zl_data/redis/dump.rdb
评论区