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 性能初探

目录
相关文章
|
15天前
|
Java 测试技术
SpringBoot 项目启动内存占用过高优化以及内存查看
SpringBoot 项目启动内存占用过高优化以及内存查看
12 0
|
11月前
|
缓存 自然语言处理 安全
白话Elasticsearch67-不随意调节jvm和thread pool的原因&jvm和服务器内存分配的最佳实践
白话Elasticsearch67-不随意调节jvm和thread pool的原因&jvm和服务器内存分配的最佳实践
117 0
|
11月前
|
SQL 监控 Java
如何避免JDBC池和内存溢出?优化策略大揭秘!
0 目标 生成订单接口的基准场景是什么结果。 SQL的问题定位
419 0
|
数据库 Windows 容器
如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?
212 0
|
NoSQL Java 开发者
自动配置原理|学习笔记
快速学习自动配置原理
111 0
|
缓存 安全 前端开发
|
前端开发 IDE Java
Javaweb学习笔记(二)之发布动态资源
本文主要介绍了Javaweb项目实践案例,即发布动态资源和Servlet的简单介绍。
231 0
Javaweb学习笔记(二)之发布动态资源
|
Java 算法
带你读《JVM G1源码分析和调优》之三:G1的对象分配
本书尝试从G1的原理出发,系统地介绍新生代回收、混合回收、Full GC、并发标记、Refine线程等内容;同时依托于jdk8u的源代码介绍Hotspot如何实现G1,通过对源代码的分析来了解G1提供了哪些参数、这些参数的具体意义;最后本书还设计了一些示例代码,给出了G1在运行这些示例代码时的日志,通过日志分析来尝试调整参数并达到性能优化,还分析了参数调整可能带来的负面影响。
|
监控 druid 网络协议
诡异的druid链接池链接断开故障经验总结
诡异的druid链接池链接断开故障经验总结 标签: druid mysql mysqlReplication haproxy shardingJDBC 背景 症状 排查 修复 背景 最近在陆续做机房升级相关工作,配合DBA对产线数据库链接方式做个调整,将原来直接链接读库的地址切换到统一的读负载均衡的代理 haproxy 上,方便机柜和服务器的搬迁。
3237 0
|
缓存 前端开发 Java
SpringBoot 缓存&amp;资源优化
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36367789/article/details/81711179 页面缓存 1.
1381 0