一、应用程序直接获取数据库连接的缺点
用户每次请求都需要向数据库获得连接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长。假设网站一天10万访问量,数据库服务器就需要创建10次连接,极大的浪费了数据库的资源,并且极易造成数据库服务器的内存溢出、宕机。如下图所示:
数据库连接是是一种关键的有限的昂贵的资源,这一点在多用户的网站应用程序中体现的尤为突出,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标,数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,他允许应用程序重复使用同一个现有的数据库连接,而不是重新创建一个。如下图所示:
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中, 这些数据库连接的数量是由最小数据库连接数来设定的.无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量.连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中.
数据库连接池的最小连接数和最大连接数的设置要考虑到以下几个因素:
原文:https://www.cnblogs.com/plus301/p/10500753.html