# Redis CPU过高

Redis CPU过高

  • 测试环境经常卡住,经过排查是鉴权的不稳定,鉴权又经过redis查询。来到redis机器,发现cpu100%redis的锅

top

在这里插入图片描述

redis竟然cpu使用率达到100%

保存慢查询条数

config get showlog-max-len

设置慢查询条数

config set showlog-max-len 1000

查看当前已记录数量

slowlog len

查看已重新记录日志

slowlog reset

获取慢查询记录

slowlog get 100

在这里插入图片描述

查看慢查询日志。发现有好几个scan操作执行时间超过10000微秒,有些更甚高达20000微秒。这个意味,如果都是这样的操作,redis每秒并发性能只能达到50~100。很恐怖,redis号称每秒10万并发的呀。

设置慢查询游标(默认微妙)

config set slowlog-log-slower-than 1000

获取慢查询游标(默认微妙)

config get slowlog-log-slower-than

查看连接数设置

config get maxclients

查看当前客户端连接数

info clients

在这里插入图片描述

观测info命令数量

info commandstats

在这里插入图片描述

calls: 次数
usec: 总时间
usec_per_call:平均时间

scan调用次数为1.36亿,平均时间为1356.37微秒。这个意味,如果都是这样的操作,redis每秒并发性能只能达到1000

查看monitor监控

redis-cli -h 127.0.0.1 -p 6379 -a password monitor > a.txt

在这里插入图片描述
在这里插入图片描述

记录5分钟的redis操作日志。统计一下redis一秒约850个请求。有750个是scan操作。破案了。scan模糊查询,大keys的锅。业务问题,剩下的就是改业务问题了。

redis info

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值