资讯动态

Redis-jedis连接池配置错误导致Redis CPU飙高

发布时间:2026/8/9 2:01:35 来源:尧图企业网站定制
一、背景今天业务突然告知 Redis 访问比较慢但 Redis 侧并没有什么告警经过一系列排查最终发现 auth 认证的频率过高定位到业务测连接池配置有问题最终解决问题二、根本原因研发 jedis 的配置出现了没有池化的情况我用 AI 写了 JAVA 代码验证最终发现问题spring boot 1.x : 这个版本的配置文件中不写 pool 关键字也会默认池化spring boot 2.x : 这个版本的配置文件中必须强制写 pool 关键字才会池化spring: application: name: jedis-boot1-simple-demo redis: host:${REDIS_HOST:127.0.0.1}port:${REDIS_PORT:6379}password:${REDIS_PASSWORD:123456}database:${REDIS_DATABASE:0}# timeout: 2000# pool:# max-active: 20# max-idle: 8# min-idle: 2# max-wait: 3000三、排查过程1.查看Redis CPUCPU 在 60-70相对高位但也不是最高位需要查看引起 CPU 高的原因2.ping 延迟的异常ping 主节点的时候发现部分耗时在 5ms 左右很不符合预期怀疑可能是网卡问题导致的业务访问慢由于从节点 ping 正常于是对 Redis 进行了主从切换但是切换后新主的耗时也在 5ms 左右排除网卡问题可能是 CPU 过高导致的延迟异常3.CPU 异常排查查看命令的监控并进行 monitor 采集发现 auth 的命令高达 1w/s且都是业务的 ip 访问这事不符合连接池的访问现象的于是业务对代码进行了改造符合了连接池的配置改造后 auth 的命令次数每秒只有 1-2 次CPU 也已经从 60% 下降到 20%业务访问耗时完全正常了

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价