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的锅。业务问题,剩下的就是改业务问题了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)