压测完成后,pinpoint链路有redis连接池无资源可用,该怎么分析

问题

压测完成后,查看pinpoint链路有小部分请求出现错误

报错信息

Request processing failed; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a resource from the pool

环境

redis集群配置6个节点,grafana资源监控,指标都正常
应用连接redis配置:
redis.testOnBorrow=true
redis.testOnReturn=true
redis.testWhileIdle=true
redis.maxIdle=5
redis.maxWait=5
redis.maxTotal=10
redis.minIdle=2
redis.timeout=3000
redis.timeBetweenEvictionRunsMillis=160000
spring.redis.cluster.max-redirects=3

MaxIdle: 最大空闲数
MaxWait: 最大等待时间,单位毫秒(million seconds)

连接池中无可用连接时会会进行等待maxWait时间,若超出则抛出Could not get a resource from the pool异常。所以应根据程序实际情况合理设置参数的值。

参考:线上环境,偶尔Could not get a resource from the pool · Issue #66 · CodisLabs/jodis · GitHub

好的,了解了,谢谢老师

关闭