jsp数据库连接池改进方案的分析研究

jsp数据库连接池改进方案的分析研究

ID:24200102

大小:62.50 KB

页数:4页

时间:2018-11-13

jsp数据库连接池改进方案的分析研究_第1页
jsp数据库连接池改进方案的分析研究_第2页
jsp数据库连接池改进方案的分析研究_第3页
jsp数据库连接池改进方案的分析研究_第4页
资源描述:

《jsp数据库连接池改进方案的分析研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、JSP数据库连接池改进方案的分析研究1.侯铭2.张毅(1.重庆大学软件学院;2.重庆电子工程职业学院)【摘要】在多层体系结构应用软件中,采用数据库连接池是提高数据库访问效率的主要途径之一。木文在分析了传统数据库连接池管理策略方面的不足后,提出了对传统数据库连接池的改进方案。经实验测试分析表明,改进后的数据库连接池可以大大减少系统的响应时间,降低系统资源的开销,从而提高系统的整体性能。【关键词】数据库连接池;复用;事务处理;自适应1.连接池的调度管理策略1.1现有连接池调度策略的不足现有连接池技术的参数配置及管理存在以下问题:①连接池的参数配置策略大多是

2、静态的,依据Config,xml参数配置表设置池参数,这些参数不能根据应用需求的变化而适时地调整数据库连接池的容量。②在系统运行时,客户请求数量的多少往往表现出类似于波峰和波谷的曲线,所以我们希望在系统允许的范围内,提供对连接池的自适应动态管理。而现有连接池运行中的资源调度管理策略还不能适应应用的动态需求。③缺少对连接池的管理机制。现有连接池可以完成用户验证、安全上下文配置等任务,但是如何保证连接池资源不释放给末授权用户使用?如何让关键性事务获得优先服务?如何让客户应用主动获得对连接池的控制?现有数据库连接池无法解决。1.2对现有连接池的改进方案1.2

3、.1连接复用方案我们通过ReferenceCounting(引用记数)[2]实现数据库连接的复用。我们把该方法运用到连接的分配和释放上。对每一个数据库连接,保留一个引用记数,用来记录该连接使用者的个数。我们把连接池分为空闲池和工作池。空闲池中存放目前还没有分配出去的连接,一旦一个连接被分配出去,那么就会把该连接放入到工作池中,并且增加引用记数。这样做有一个很大的好处,使得我们可以高效的使用连接,因为一旦空闲池中的连接被全部分配出去,我们就可以根据相应的策略从工作池中挑选出一个正在使用的连接用来复用,而不是随意拿出一个连接去复用。策略可以根据需要去选择,

4、我们采用的策略比较简单:复用引用记数最小的连接。1.2.2事务处理方案前面谈到的是普通的数据库访问,对于事务处理,情况就复杂得多。因为事务要求原子性的保证,此吋就要求对于数据库的操作符合“ALL—ALL_Nothing”原则[6】,即要么全部完成,要么什么都不做。如果简单的采用上述的连接复用的策略,就会发生问题,因为没奋办法控制属于同一个事务的多个数据库操作方法的动作,可能这些数据库操作是在多个连接上进行的,并II这些连接可能被其他非事务方法复用可以通过设置Conmction的AutoCommit属性为false,显式的调用commit或者roll—b

5、ack方法来实现事务处理。但是要安全、高效的进行连接复用,就必须提供相应的事务支持机制,我们采用的方法是:采用显式的事务支撑方法,每一个事务独占一个连接。这种方法可以大大降低对于事务处理的复杂性,并且又不会妨碍连接的复用,因为隶属于该事务的所有数据库操作,都是通过这一个连接完成的,并且事务方法又复用了其他•-些数据库方法。由连接管理服务提供了显式的事务开始、结束卢明,以及一个事务注册表,用于登记操作事务的客户和使用连接的事务之间的对应关系,通过该表,将使用事务的客户和使用连接的事务隔离开。事务使用的连接在该事务运行中不能被复用。在我们的实现中,客户标识

6、是通过使用者所在的线程来标识的。后面的所奋对于数据库的访问都是通过查找该注册表,使用己经分配的连接来完成的。当事务结束时,从注册表中删除相应表项。1.2.31自适应管理方案采用基于XML配置表,使系统可以根据用户的不同应用需求来配置连接池参数;设置运行日志,在运行过程中能够根据tl志来自适应地调整连接池配置参数;连接池调度算法采用类似工作集的策略,根据过去对资源的使用情况决定连接池的大小以及连接池中各连接的优先级;对用户实行优先级管理,高优先级的用户可以剥夺那些低优先级且可被剥夺的资源,尽可能保证高优先级的用户享受优先服务;对安全性要求较高的连接进行验

7、证使用,由用户在配置中指定。通过这一系列的调整策略的实施,可以建立一个高效率、实用的自适应数据库连接池。1.测试为了与传统连接池比较,我们将改进后的连接池部署到WebLogic服务器上,冋吋在服务器上还安装了基于Web的应用程序供测试使用。我们使用JAVA设计了一个测试Web访问速度的工具,其作用是创建多线程访问指定的URL,并返冋在指定访问量的情况下系统的响应吋间。需指出的是,实际测试的结果与服务器的硬件和软件配置有很大关系。本文测试结果为:①当服务器内存空余较多时,传统连接池达到最人连接数就不再响应请求,而该文的连接池在没超过内存底限吋可继续工作;

8、②对于频繁使用已在连接池中的连接,传统连接池访问1000次需要13454ms。改进后的连接池需

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。