技术Code

Redis:Could not get a resource f

2018-12-19  本文已影响0人  搅尽脑浆
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

三种情况会导致这个异常

异常排查

MAX_ACTIVE = 512;
MAX_IDLE = 100;

API请求峰值在100qps, 每个请求会产生6个左右的redis请求, 也就是6个(可以优化为1个)redis资源. API部署在8个docker节点上, 平均每个节点80个redis资源, 性能时满足要求的.

为了验证, 增大配置

MAX_ACTIVE = 5120;
MAX_IDLE = 1000;

测试发现还是报异常, 说明不是配置资源的问题.

总结

对此异常不熟, 正确的排查顺序应是
连接是否异常>>>是否释放资源>>>配置是否过小

上一篇 下一篇

猜你喜欢

热点阅读