WebLogic Server 性能优化 (2) JDBC连接池篇
来源:互联网 发布:校园二手商城源码 编辑:程序博客网 时间:2024/05/22 09:06
JDBC连接池是J2EE应用最常用的一个服务,JDBC连接池的设置相对比较简单一些。JDBC连接池的设置最主要的是Intial Capcity和Maximum Capacity两个属性。下面对于JDBC连接池的几个属性及优化配置方案进行描述:
Initial Capacity: 初始容量,即WebLogic Server在建立连接池的时候创建的连接数量
Maximum Capacity: 最大容量,即WebLogic Server允许的在这个连接池中的连接的最大数量。
通 常,初始容量和最大容量设置为相等,并且不小于执行线程的数量。如果你的应用中配置了自定义执行线程队列,那么就要计算全部的用来给应用工作的线程的数 量。如此设置才能够起到Pool的作用,避免在应用运行过程中出现创建JDBC连接的请求。因为创建JDBC连接对于WebLogic Server和数据库服务器来说,都是开销比较大的动作。如果应用中存在在一个线程中获取多个连接的情况,那么初始容量和最大容量应该大于执行线程的数 量,甚至需要成倍增加。比如下面的JSP代码就会导致一个线程工作占用2个连接:
ctx = new InitialContext();
ds = (DataSource)ctx.lookup(”lab.ds.pbjade”);
conn = ds.getConnection();
// do some query operations
conn2 = ds.getConnection();
// do some query operations
以 上这段代码,在执行过程中,第一个连接conn关闭之前,又获取了第二个连接conn2,这样一来,这个JSP页面在执行的时候(由一个线程来执行),会 同时获取2个连接,连接池容量的最优化设置是执行线程的数量的2倍。因为在极端情况下,如果在同一时刻,所有的请求都指向这个页面,那么就需要执行线程数 量2倍的连接才不会出现连接等待。
Capcity Increment: 增长步长。如果初始容量和最大容量不相等,并且需要更多的连接时,WebLogic Server一次建立新连接的数量。
Allow Shrinking: 允许自动收缩。如果连接池的初始容量和最大容量不相等,那么当池中的连接大于初始容量时,经过Shrink Frequency时间,如果连接池中的活动连接不高于初始容量个,那么连接池中连接的数量会减少到初始容量大。
上面这几个参数是配置相关的,通常Initial Capacity=Maximum Capacity 并且>=执行线程的数量,并且不选择Allow Shrinking选项,避免不必要的周期检查。
如 果WebLogic Server和数据库服务器之间的网络连接不稳定,或者两个服务器之间存在防火墙,导致JDBC连接不稳定,WebLogic Server还提供了一些测试策略以尽量保证应用难道的连接是有效的。主要有3个选项:Test Reserved Connections、Test Created Connections、Test Released Connections。测试的时机分别是应用获取连接、WebLogic Server创建连接、应用释放连接。通常这3个选项只需选择Test Reserved Connections即可,无需全部选择。根据测试数据,可能会有3%左右的性能下降。所以如果不是必要,也不必使用这些选项。
在 使用JDBC连接池的过程中,最常见的一个问题就是连接池泄漏问题。一个池里面的资源是有限的,应用用完之后应该还回到池中,否则池中的资源会被耗尽。 WebLogic Server提供了一个Inactive Connection Timeout选项,默认是60秒,如果一个连接被应用拿走之后,超过这个时间还没有还回来,WebLogic Server会强制将这个连接回收。如果应用中不存在连接泄漏的问题,则不需要这个选项。设置为0即可禁用。
总结一下,连接池的设置相对比较简单,主要是初始容量及最大容量两个参数。其他的选项不需要的可以去掉,避免不必要的性能开销。
- WebLogic Server 性能优化 (2) JDBC连接池篇
- WebLogic Server 性能优化 (2) JDBC连接池篇
- WebLogic Server 性能优化—JDBC连接池篇
- WebLogic Server 性能优化 (3) 应用篇
- WebLogic Server 性能优化 (3) 应用篇
- WebLogic Server 性能优化 (4) JMS篇
- WebLogic Server 性能优化 (1) 执行线程篇
- WebLogic Server 性能优化 (1) 执行线程篇
- WebLogic JDBC连接
- 【weblogic】连接池连接数优化设置
- 【转载】JDBC性能优化篇
- JDBC学习2-性能优化
- WebLogic性能优化配置
- weblogic性能优化
- weblogic性能优化
- weblogic性能优化
- weblogic性能优化
- WebLogic Server 性能调优
- 第6章 统计成绩(数组用法)
- 使用GetGuiResources查看GDI泄漏
- Hibernate源码分析
- 电动调节阀
- 明天去【青色的城】,周末才能回来了
- WebLogic Server 性能优化 (2) JDBC连接池篇
- 网络管理员必备宝典
- Access数据库在C#.net下的存储路径问题
- 硬盘安装ubuntu-9.04-alternate-i386.iso的体验
- 字符串原始匹配和二叉树相等算法
- Grub erro 17的解决方法
- MSP430的低功耗事件驱动工作模式
- 电路基本概念
- 要看的闲书