XAPool的参数设置

  1. sleepTime:PoolKeeper检测时间间隔
  2. lifeTime:连接生命周期(上次访问时间-当前时间)
  3. deadLockMaxWait(:超过最大连接之后的调用getConnection的等待时间
  4. deadLockRetryWait:超过最大连接之后的调用getConnection等待,在等待中重试的时间间隔
  5. maxSize:连接池的容量

deald-lock-max-wait和dead-lock-retry-wait的设置要小心,这两个参数的意义见我的另一个日志:XAPool原理简要分析。dead-lock-retry-wait最好设置得比较短,这样不至于线程等待很长时间,dead-lock-max-wait的设置不要太长,一般是设置成比最高并发数下应用处理时间稍长一点,设置过短在大并发下会造成提交实效导致应用数据的丢失,因为超过xapool在超过等待dead-lock-max-wait之后会异常:没有可用连接分配。

 

sleepTime是对Connection idle检测线程PoolKeeper的检测时间间隔设置。PoolKeeper会定时监测是否存在超过lifeTime的connection然后释放掉这些connection。

 

连接池的容量设置是有讲究的,一般至少等于AppServer(或者叫WEB 容器)的最大并发数。因为xapool在达到maxSize的时候,如果还有线程需要连接,会进入等待状态(通过deadLockMaxWait设置最大等待时间,deadLockRetryWait设置等待间隔),在大并发下会造成App Server容器线程池满,Server在一段时间内(deadLockMaxWait)停止响应的现象。将连接池的容量设置成大于App Server的最大并发数,可以尽可能的避免这种情况。App Server的最大并发数=App Server的线程池线程数,Tomcat默认是75,Websphere默认是50。集群环境下,集群的最大并发数=每台集群服务器的最大并发数之和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值