Redis CPU过高排查

Redis CPU过高

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

top

image

redis竟然cpu使用率达到100%

保存慢查询条数

config get showlog-max-len

设置慢查询条数

config set showlog-max-len 1000

查看当前已记录数量

slowlog len

查看已重新记录日志

slowlog reset

获取慢查询记录

slowlog get 100

image

查看慢查询日志。发现有好几个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

image

观测info命令数量

info commandstats

image

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

image

image

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

redis info

image

posted @   TY520  阅读(2060)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示