线上问题描述:
通过arms监控(阿里云提供的ecs机器监控工具,应用部署在ecs上)发现redis缓存出现问题,造成系统卡顿;
联系运维发现此时间段redis的ping命令非常多,占50%。造成redis的cpu负载突然下降,形成性能尖刺,请求无法打入进来
解决办法:
1 redis连接池的maxTotal参数配置过大(300),反而性能降低,将该参数调小
2 线上testOnBorrow,testOnReturn值为true,会增加ping检测次数。将这2个参数设置为false
testOnBorrow,testOnReturn参数含义参考:
https://www.cnblogs.com/gxyandwmm/p/10973511.html
redis连接池过大参考:
https://segmentfault.com/a/1190000020256823