AI
网站建设
AI
解决方案
案例
百科
我们
400-6446-365
服务
北京
上海
广州
成都
设计
智能
智慧博物馆
想得到的智慧博物馆新玩法,可能都在这里
智慧公园
听说,在智能公园中漫步才是最惬意的事
智慧社区
AI技术加持,社区系统真正互联互通
智慧医院
增强诊前服务、辅助诊中流程、优化诊后交流
AI
网站建设
网站建设
品牌官网建设
集团站群建设
行业门户网站建设
社区网站建设
业务系统定制开发
IT平台整体解决方案
电商网站建设
B2C网站建设
B2B网站建设
B2B2C网站建设
积分商城网站建设
众筹网站建设
移动端、融媒体
手机网站建设
微网站
APP开发
小程序开发
快应用开发
融媒体
网络运营
网站代运营服务
互动营销服务
微信微博运营服务
游戏营销服务
网络推广服务
搜索引擎推广服务
AI
解决方案
智慧博物馆解决方案
智慧公园解决方案
智慧医院解决方案
智慧学校解决方案
智慧党建解决方案
智慧社区解决方案
RPA解决方案
云展厅解决方案
案例
金融行业专题
医疗行业专题
地产行业专题
教育行业专题
博物馆专题
智慧公园专题
百科
网站建设
网络推广
运营维护
我们
媒体报道
加入分形
网站数据库连接池作用及配置
标签:
网站制作
网站建设
2019-05-11
网站数据库连接池作用及配置;
连接池用于创建和管理数据库连接的缓冲池技术,缓冲池中的连接可以被任何需要他们的线程使用。当一个线程需要用JDBC对一个数据库操作时
,将从池中请求一个连接。当这个连接使用完毕后,将返回到连接池中,等待为其他的线程服务。
连接池的主要优点有以下三个方面。
1、减少连接创建时间。连接池中的连接是已准备好的、可重复使用的,获取后可以直接访问数据库,因此减少了连接创建的次数和时间。
2、简化的编程模式。当使用连接池时,每一个单独的线程能够像创建一个自己的JDBC连接一样操作,允许用户直接使用JDBC编程技术。
3、控制资源的使用。如果不使用连接池,每次访问数据库都需要创建一个连接,这样系统的稳定性受系统连接需求影响很大,很容易产生资源
浪费和高负载异常。连接池能够使性能最大化,将资源利用控制在一定的水平之下。连接池能控制池中的连接数量,增强了系统在大量用户应用时
的稳定性。
下面,简单的阐述下连接池的工作原理。
连接池技术的核心思想是连接复用,通过建立一个数据库连接池以及一套连接使用、分配和管理策略,使得该连接池中的连接可以得到高效、安
全的复用,避免了数据库连接频繁建立、关闭的开销。
连接池的工作原理主要由三部分组成,分别为连接池的建立、连接池中连接的使用管理、
连接池的关闭。
1、连接池的建立。一般在系统初始化时,连接池会根据系统配置建立,并在池中创建了几个连接对象,以便使用时能从连接池中获取。连接池中
的连接不能随意创建和关闭,这样避免了连接随意建立和关闭造成的系统开销。Java中提供了很多容器类可以方便的构建连接池,例如Vector、
Stack等。
2、连接池的管理。连接池管理策略是连接池机制的核心,连接池内连接的分配和释放对系统的性能有很大的影响。
其管理策略是:
当客户请求数据库连接时,首先查看连接池中是否有空闲连接,如果存在空闲连接,则将连接分配给客户使用;如果没有空闲连接
,则查看当前所开的连接数是否已经达到最大连接数,如果没达到就重新创建一个连接给请求的客户;如果达到就按设定的最大等待时间进行等待
,如果超出最大等待时间,则抛出异常给客户。
当客户释放数据库连接时,先判断该连接的引用次数是否超过了规定值,如果超过就从连接池中删除该连接,否则保留为其他客户服务。
该策
略保证了数据库连接的有效复用,避免频繁的建立、释放连接所带来的系统资源开销。
3、连接池的关闭。当应用程序退出时,关闭连接池中所有的连接,释放连接池相关的资源,该过程正好与创建相反。
数据库连接池的作用以及配置;
连接池是创建和管理多个连接的一种技术,这些连接可被需要使用它们的任何线程使用。连接池技术基于下述事实:对于大多数应用程序,当它们
正在处理通常需要数毫秒完成的事务时,仅需要能够访问JDBC连接的1个线程。未处理事务时,连接处于闲置状态。使用连接池,允许其他线程使
用闲置连接来执行有用的任务。
事实上,当某一线程需要用JDBC在MySQL或其他数据库上执行操作时,需要用到由连接池提供的连接。使用连接完成线程后,线程会将连接返回
给连接池,以便该连接能够被其他需要使用连接的线程使用。从连接池“借出”连接时,该连接仅供请求它的线程使用。从编程观点看,其效果等
同于每次需要JDBC连接时调用DriverManager.getConnection(),但是,采用连接池技术,可通过使用新的或已有的连接结束线程。连接池技术
能显著增加Java应用程序的性能,同时还能降低资源使用率。
连接池技术的主要优点包括:
(1) 缩短了连接创建时间
创建新的JDBC连接会导致联网操作和一定的JDBC驱动开销,如果这类连接是“循环”使用的,使用该方式,可避免这
类不利因素。
(2)简化的编程模型
使用连接池技术时,每个单独线程能够像创建了自己的JDBC连接那样进行操作,从而允许使用直接的JDBC编程技术。
(3)受控的资源使用
如果不使用连接池技术,而是在每次需要时为线程创建新的连接,那么应用程序的资源使用将十分浪费,而且在负载较重的
情况下会导致无法预期的结果。
注意,与数据库的每个连接均会在客户端和服务器端造成一定的开销(CPU、关联转换等)。
每个连接均会对应用程序和数据库服务器的可用资源带来一定的限制。无论连接是否执行任何有用的任务,仍将使用这些资源中的相当一部分。
连
接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,如果超过该水平,应用程序将崩溃而不仅仅是变慢。
幸运的是,Sun公司通
过JDBC-2.0“可选”接口,完成了JDBC中连接池概念的标准化实施,所有主要应用服务器均实施了能够与MySQL Connector/J一起良好工作的
这类API。
通常,你可以在应用服务器的配置文件中配置连接池,并通过Java命名和目录接口(JNDI)访问它。
使用连接池时需要牢记的最重要事项是,无论在代码中出现了什么(异常、控制流等),连接以及由连接创建的任何部分(语句、结果集等)均应
被关闭,以便能再次使用它们。如不然,它们将纠缠在一起,在最好的情况下,意味着它们所代表的数据库服务器资源(缓冲区、锁定、套接字等
)可能会捆绑一段时间,在最坏的情况下,可能会导致永久捆绑。
连接池的最佳大小是什么?
取决于具体情况。尽管最佳大小取决与预期的负载和
平均的数据库事务时间,最佳的连接池大小小于你的预期。
例如,如果使用的是Sun公司的Java Petstore Blueprint应用程序,对于包含15~20个连接的连接池,使用MySQL和Tomcat,在可接受的相应时
间下,可服务于中等程度的负载(600个并发用户)。
要想确定用于应用程序的连接池大小,应使用诸如Apache Jmeter或The Grinder等工具创建负载测试脚本,并对应用程序进行负载测试。确定出
发点的一种简单方法是,将连接池的最大连接数配置为“无限”,运行负载测试,并测量最大的并发连接数。随后,应进行反向操作,确定出使应
用程序具有最佳性能的连接池的最小和最大值。
连接池与数据源区别?
数据库连接池是在应用程序启动时建立足够的数据库连接,并将这些连接组
成一个连接池,由应用程序动态地对池中的连接进行申请、使用和释放。
对于多于连接池中连接数的并发请求,应在请求队列中排队等待。并且应用程序可根据池中连接的使用率,动态增加或减少池中的连接数。当关闭
连接操作时,连接并不真正的关闭,而是返回到连接池中作为空闲连接在后面继续使用,连接池技术解决了数据库连接频繁打开关闭所带来的性能
问题。
有了连接池,我们没必要直接找数据源打交道了,连接池在你的程序所在的机器内存,数据源不一定,并且数据源和连接池会保持一定数量
的连接,这样我们访问数据库的时候就不需要找数据源要连接,直接在本地内存中取得连接,可以提高程序的性能。连结池的存在是为了效率,因
为实例化一个连接很耗费资源,而连接又有可重用的特征,所以可以把一定数量的连接放在连接池里面以提高效率。
TAG标签耗时:0.00091218948364258 秒
010-64928252/400-6446-365
我现在就想找顾问聊聊
上一篇文章: 人工智能时代知识图谱的应用
下一篇文章:java在网站制作实现多级菜单方法
相关资讯
咨询类网站建设的6个技巧
网站制作的一些经验介绍
高端网站建设的一些经验
如何选择最好的网站设计公司?
java在网站制作实现多级菜单方法
查看更多
海华集团
石油化工
网站建设
网页设计
长安客车
汽车行业
网站建设
网页设计
厦门特房波特曼七星湾酒店
餐饮酒店
网站建设
网页设计
同方计算机
电信通讯
网站建设
网站设计
中科雁栖湖
机构组织
网站建设
定制开发
系统开发
网联清算
金融保险
网站建设
定制开发
更多网站案例
更多解决方案
让决策变的简单
好的开始是成功的一半
立即体验服务
免费电话
在线咨询
官方微信
招聘
您需要 AI+互联网
顾问提供专业咨询
残忍拒绝
立即咨询
AI人工智能 · VR · AR · 智慧博物馆 · 智慧公园 · 景区 · 文创 · 动画
高端网站建设 · 小程序 · APP · 微信 · H5 · 游戏 · 电商 · 年度运营
招聘