Jedis配置优化

14 篇文章 0 订阅

                                  Commons-pool配置(1) ——资源数控制

                                  Commons-pool配置(2) ——借还参数

 

 

                                                            适合的MaxTotal 

1、业务希望Redis并发量

2、客户端执行时间

3、Redis资源:例如nodes(例如应用个数)  * maxTotal  是不能超过Redis的最大连接数。(Config get maxclients)

4、资源开销:例如虽然希望控制空闲连接,但是不希望因为连接池的平凡释放创建连接造成不必要的开销

 

比较难确定的,举个例子:

  1. 命令平均执行时间0.1ms  =  0.001s
  2. 业务需要50000QPS
  3. maxTotal理论值 0.001 * 50000 = 50个。实际值要偏大一些

 

                                                        适合的maxIdle和minIdle

建议maxIdle = maxTotal

  • 减少创建新连接的开销

建议预热minIdle

  • 减少第一次启动后的新连接开销 

 

常见问题 

1、获取连接超时

2、连接池资源耗尽

解决思路

      1、慢查询阻塞:池子连接都被hang住。(假如说连接池的maxTotal设置为8,现在有8个线程在执行一个操作,都在执行keys *这个操作,或者由于某些原因Redis的单线程被阻塞了,这8个连接都要对这个操作进行一个等待,在等待期间再去getResource()就会出现 Timeout waiting for idle object的问题。所以说要对每一个操作设置一个超时时间以及maxwaiting的超时时间)

      2、资源池参数不合理:例如QPS高、池子小

      3、连接泄露(没有close()),此类问题比较难定位,例如client list、netstat等,最重要的是代码

      4、DNS异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值