• 首页 > 
  • FAQ:保兰德Bes中间件集成PolarDB-O连接不释放

FAQ:保兰德Bes中间件集成PolarDB-O连接不释放

KB: 194638

 · 

更新时间:2020-12-11 20:52

目录


适用于

  PolarStack 混合云版、一体机等

  PolarDB-JDBC驱动

目的

   解决保兰德Bes中间件在连接到PolarDB-O数据库后出现连接不释放,持续增长,导致内存耗尽或者连接风暴等问题。

问题与解答

  问题:保兰德Bes中间件集成PolarDB-O连接不释放?

 

  保兰德Bes中间件集成PolarDB-O基本配置:

    

   在业务高峰和低峰的波动中,PolarDB-O的数据库连接数一直在增加,并且其中active活跃的非常少,主要的连接都是idle状态的。且大多数的SQL都是commit 和 select 1 from dual 两类,backend_start很早建立的连接,query_start却在实时的更新。

 

  解决方案:

# BES最佳参数设置:
1. com.bes.enterprise.pool.useLifo          设置为true
可以达到预期。重启才生效。
2. Leak Timeout=0  Leak Reclaim=not enable  否则会导致idle连接过多,且不会回收!重启才生效
3. Associate with Thread=not enable 
        否则同样会导致idle连接无法回收。重启才生效。
4. idle连接过多可以根据业务适当减少min idle数量。

其中,核心是1,调整FIFO算法为LIFO算法,达到连接释放的目的。

参考文档

  保兰德Bes中间件