应用程序读取数据库有2种方式,一种是直接连接数据库,一种是调用连接池。
1) 直连是程序直接创建物理连接,调用数据库进行数据读取。直连的创建会带来很大的系统开销,若程序中多处频繁使用直连,会造成应用服务器资源消耗过多,影响程序的性能。
2) 连接池是创建和管理一个物理连接的缓冲池,其中会保留一定数量创建的物理连接不关闭,当有客户端请求时,调用连接池,可以有效减少物理连接的创建次数,降低直连所带来的系统开销,缓解应用服务器压力,提高程序性能。
下面我对连接池各参数意义进行讲解:
连接超时
连接超时是指,当对指定连接池进行请求时,池中没有可用连接(连接全部被使用,或者数据库请求超时),当请求时间到达指定之间时未响应,那麽这个时候就会产生超时异常,通过日志可以发现。
连接超时的设置,是对我们应用响应速度的一种把关,客户往往要求我们的产品在多长时间必须有响应,所以连接超时的设置,可以让我们发现哪些程序点有响应速度问题,可能是数据库查询语句问题,也有可能是程序逻辑死循环,再有可能就是数据库表结构需要优化,还有可能是最大连接数到达最大值。
最大连接数
最大连接数是指当前连接池中允许创建的最大物理连接数,当到达指定值后,将不允许创建物理连接。和连接超时相对应,当达到最大值后,连接请求将等待,直到池中有空闲连接为止,否则报连接超时错误。当使用集群机制时,会同时存在多个相同连接池,这个时候需要考虑最大数量的设置。
最大连接数可以有效控制创建物理连接的数量,连接池的大小影响着服务器资源的占用情况,若连接池过大,则会长期占用服务器可利用资源,若连接池过小,无法满足现场环境应用高负载使用压力。最大连接数的设置应根据TPV观测数据进行合理配置。
最小连接数
最小连接数是指当前连接池要保留的最小物理连接,其决定未使用超时维护机制的下限,连接池的创建不是根据最小连接数而特意创建,而是根据用户请求而创建,系统会一直维护最小的连接数目。
最小连接数使应用服务器保持一定数量的物理连接,利用应用服务器维护机制,合理分配服务器资源。当应用程序访问频繁,但访问人数少的情况下,最小连接数的合理配置,可以将有效的资源进行充分利用,满足特定应用需求。
收集时间
收集时间是连接池维护机制的核心,是指每次维护连接池的时间间隔。其有两个维护指标,分别为未使用超时和时效超时,其值应该小于两个指标中的任何一个。每一次维护周期中,连接池都会将连接池中超时的物理连接关闭,以减少系统占用资源。
合理的收集时间设置,是帮助我们关闭不必要的连接,节省系统资源占用的有效途径。收集时间设置不易过大,因为时间间隔过长,会使很多未被使用的物理连接持续占用资源。若收集时间过小,则频繁的维护会带来很多系统开销,连接池的主要精力都放到了维护上。
未使用的超时
未使用的超时指池中的物理连接空闲未使用的时间间隔,每隔指定时间,系统会为连接标记,帮助收集时间在维护过程中进行关闭。未使用的超时应该小于实效超时时间,并且其以最小连接数为标准,当连接数超过最小连接数时,其才起作用。
未使用超时的设置,帮助我们关闭不必要的空闲连接,释放系统资源,并且减少数据库开销。根据现场环境使用情况,我们可以根据系统访问频繁程序,来定制合理的未使用超时,如果过小,当访问频繁程度大时,总需要重新创建,如果过大,当访问频繁程度不大时,连接池又空闲占用过多。
时效超时
实效超时指关闭物理连接的时间间隔,这个值是指到达指定的时间后,关闭满足时间条件的物理连接,若这个物理连接未使用,则直接关闭,若这个连接正在使用,则当前事务结束后,关闭此连接。这个值不受最小连接数的影响,若没有新创建的连接,此机制会关闭连接直到为0。
时效超时的设置,是为了方式应用程序或者数据库造成的数据库连接持续占用,可能导致的原因包括程序逻辑错误,数据库宕机导致的错误等。还有一种情况为人为导致,就是若某个用户持续占用一个资源不放,会导致其他用户无法访问。所以时效超时的设置,是对不合理使用应用,或者链接错误等进行强行关闭,保证程序的稳定性和持久性。
分享到:
相关推荐
### WebSphere连接池参数详解 在企业级应用服务器领域中,IBM WebSphere Application Server(简称WebSphere或WAS)是一款非常流行的解决方案。其中,连接池技术是提高数据库访问效率的关键技术之一。本文将深入...
相对于Weblogic,WebSphere连接池的配置要稍微复杂一些,因为缺少相关的文档,需要一定的技巧和经验。特别是对于初学者,完整的配置好Websphere连接池还是有一定难度的。 一、系统准备 1.在相应的数据库中建立本文...
### WebSphere中流行数据库连接池的配置详解 #### 一、引言 在现代企业级应用开发中,数据库连接池的合理配置对于提高系统的性能和稳定性至关重要。WebSphere作为IBM的一款高级应用程序服务器,支持多种数据库管理...
【Java 连接池详解】 Java 连接池是一种优化数据库访问效率的机制,它解决了在Web应用程序中频繁建立和释放数据库连接所导致的性能问题。随着B/S架构的广泛应用,Java应用程序通过JDBC(Java Database Connectivity...
【WebSphere数据库连接池配置详解】 在WebSphere应用服务器中,配置数据库连接池是确保高效、稳定的应用运行的关键步骤。本文将深入讲解如何在WebSphere环境中配置针对Oracle、SQL Server、Sybase和MySQL这四种流行...
### WebSphere 下 Oracle 连接池的配置详解 #### 一、概述 在WebSphere环境下配置Oracle连接池是一项重要的任务,它能够显著提高应用程序的性能和响应速度。连接池技术可以有效管理数据库连接资源,避免频繁创建和...
### Java中数据库连接池原理机制详解 #### 一、引言 在现代软件开发中,尤其是在基于Java的应用程序中,数据库连接池技术是一项至关重要的技术。它能够显著提高应用程序访问数据库的效率,减少资源消耗,并简化...
### 数据库连接池的原理机制深入解析 #### 一、基本概念及原理 数据库连接池是一种用于管理和重用数据库连接的技术。它通过预创建并维护一定数量的数据库连接,使得应用程序能够快速获取并释放这些连接,从而提高...
【WebSphere数据库连接池配置详解】 在WebSphere应用服务器中,配置数据库连接池是确保高效、稳定的应用运行的关键步骤。连接池允许应用程序复用已存在的数据库连接,避免频繁创建和销毁连接带来的性能开销。本篇...
- **连接池和定制属性**:在图16.2.3-8中设置连接池参数和定制属性,如数据库服务器的端口、IP地址以及数据库名称等,以满足应用的需求。 通过上述步骤,不仅可以顺利完成WebSphere的安装和基本配置,还可以进一步...
虽然JDBC API本身不提供连接池功能,但许多大型Web应用服务器如BEA的WebLogic和IBM的WebSphere等提供了内置的连接池实现。不过,使用这些连接池通常需要依赖特定服务器的API或第三方库。 **三、连接池关键问题分析*...
综上所述,Websphere性能调优涉及多方面参数的精细调整,包括JVM、TCP传输通道、线程池、连接池、JVM日志、高速语句缓存、事务日志以及资源监控等。每一步的调优都需紧密结合实际应用环境和硬件条件,以达到最佳性能...
虽然JDBC API没有直接提供连接池的支持,但是一些高级的Web应用服务器(如BEA的WebLogic和IBM的WebSphere)通常会内置连接池功能。这些连接池通常需要依赖于服务器特有的API或配置来实现。 - **内置连接池的优势**...
《WebSphere下Oracle数据库连接池配置详解》 WebSphere作为一款强大的应用服务器,其对数据库的连接管理是企业级应用中不可或缺的一部分。然而,相比Weblogic,WebSphere的数据库连接池配置相对复杂,特别是对于...
### Java JDBC 数据库连接池详解 #### 一、引言 随着互联网技术的快速发展和广泛应用,Web应用程序的需求日益增加,特别是在企业级应用和电子商务领域。传统C/S(客户端/服务器)架构逐步被B/S(浏览器/服务器)...
- 修改项目的web.xml文件,添加连接池配置信息,如`<resource-ref>`元素,包括id、res-ref-name、res-type、res-auth和res-sharing-scope,确保与Websphere上的定义一致。 9. **发布项目** - 使用JAR命令或其他...
### WebSphere性能分析监控知识点详解 #### 一、WebSphere性能监控基础知识 **WebSphere** 是IBM提供的一款高性能的企业级应用服务器,广泛应用于各种大型企业的关键业务系统中。随着业务的发展,系统的性能优化变...
此外,这个目录还可能包含其他配置文件,如数据库连接池、消息队列、安全设置等,这些都是WebSphere管理和调整应用环境的重要手段。 ### 总结 综上所述,WebSphere的缓存目录、日志目录和配置目录各自承担着不同的...