bbossgroups持久层框架链接池配置优化策略之一 空闲链接回收配置

简介: bbossgroups持久层框架链接池配置优化策略之一 空闲链接回收配置 poolman.xml文件中和空闲链接回收相关的配置项如下: 2 2 10 false 120000 240000 现在对这些配置项进行说明: 1.
bbossgroups持久层框架链接池配置优化策略之一 空闲链接回收配置

poolman.xml文件中和空闲链接回收相关的配置项如下:
    <initialConnections>2</initialConnections>
    
    <minimumSize>2</minimumSize>
    <maximumSize>10</maximumSize>
    <maximumSoft>false</maximumSoft>


<!--单位:秒-->
   	<skimmerFrequency>120000</skimmerFrequency>
	<!--单位:秒
	空闲链接回收时间,空闲时间超过指定的值时,将被回收
	-->
	<connectionTimeout>240000</connectionTimeout>
	



现在对这些配置项进行说明:

1.initialConnections是连接池初始化的数据库连接数,可根据需要进行配置,这里配置为2
2.minimumSize最小空闲链接数,缺省为0,有两种配置建议:
  配为maximumSize的一半,如果maximumSize为200则minimumSize配为100
  或者和initialConnections保持一致
minimumSize最好不要设置为0,免得池中的空闲连接被全部回收后,不再保持有空闲连接,也就是说为0时可能会造成连接池为空,从而失去连接池的意义。

3.maximumSize-连接池中允许的最大链接数,连接数达到这个数值后,如果maximumSoft为false时,连接池将不再允许池中的连接增长,如果为true将会增长连接数,增长的链接数是否回收以及什么时候回收依赖于skimmerFrequency、connectionTimeout参数的配置

4.maximumSoft-当连接池中的连接个数达到maximumSize后,是否允许再创建新的connection——true:允许,缺省值 ;false:不允许 ,一般如果应用程序中不存在链接泄露的情况下,设置为false。

5.skimmerFrequency-回收空闲链接操作间隔时间,秒(s)为单位,这个时间不能太短,否则检测频率太高,影响系统性能,我们一般设置为120000秒

6.connectionTimeout-单位:秒; 空闲链接回收时间,空闲时间超过指定的值时,将被回收;缺省为1200秒,我们设置为240000秒。


配置建议:minimumSize和initialConnections保持一致,如果initialConnections为0,会导致连接池向数据库获取物理链接的频率变高,从而导致降低系统性能(尤其是像mysql,获取链接的代价非常高,因为mysql会进行dns解析,会很慢,除非mysql关闭了该机制)。
maximumSoft为false,skimmerFrequency为120000秒,connectionTimeout为240000秒,这样配置也就是为了避免过渡频繁地回收空闲链接和初始化最小链接数,从而导致降低系统性能

以上建议纯属个人想法,如有不妥,欢迎批评指点,感兴趣的朋友可以参考我的另一篇文章: bbosspersistent 性能初探

目录
相关文章
|
SQL 监控 Java
如何避免JDBC池和内存溢出?优化策略大揭秘!
0 目标 生成订单接口的基准场景是什么结果。 SQL的问题定位
437 0
|
数据库 Windows 容器
如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
228 0
|
Java 应用服务中间件 开发者
JVM核心优化策略 | 学习笔记
快速学习JVM核心优化策略
|
缓存 安全 前端开发
|
前端开发 IDE Java
Javaweb学习笔记(二)之发布动态资源
本文主要介绍了Javaweb项目实践案例,即发布动态资源和Servlet的简单介绍。
238 0
Javaweb学习笔记(二)之发布动态资源
|
缓存 Go 图形学
Unity缓存池
unity在创建物体后(申请内存),删除,内存中没有立刻释放,只是将引用取消掉. 缓存池:优点:减少内存消耗,优化运行时效率,防止内存泄漏.需要存放不同类型的游戏对象(GameObject) 使用字典来创建缓存池Dictionary> 缓存池创建:缓存池判断游戏物体是什么类型使用枚举 public...
1234 0
|
监控 druid 网络协议
诡异的druid链接池链接断开故障经验总结
诡异的druid链接池链接断开故障经验总结 标签: druid mysql mysqlReplication haproxy shardingJDBC 背景 症状 排查 修复 背景 最近在陆续做机房升级相关工作,配合DBA对产线数据库链接方式做个调整,将原来直接链接读库的地址切换到统一的读负载均衡的代理 haproxy 上,方便机柜和服务器的搬迁。
3239 0
|
缓存 数据库 Windows
IIS应用程序池_缓存回收
原文:IIS应用程序池_缓存回收 本人最近由于公司业务,需要把问卷的问题和答案存入缓存中已提高问卷加载速度,减少数据库压力。 缓存关键代码(公司代码已做封装,这里只贴出关键代码): HttpRuntime.
1662 0
|
缓存 NoSQL Java
源码梳理——Jedis从缓存池中获取资源和销毁资源
本文分析了jedis从缓存池中获取资源和销毁资源这一模块的源码
1819 0
|
缓存 前端开发 Java
SpringBoot 缓存&资源优化
页面缓存 1. freemarker 的页面静态化 application.properties 配置实现浏览器缓存 # SPRING RESOURCES HANDLING ([ResourceProperties](https://github.
1265 0