数据库连接池大小如何配置
。。。 看你用什么 这是 Mysql 链接 mysql的
<beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"destroy-method="close">
<!--数据库基本信息配置-->
<propertyname="url"value="${url}"/>
<propertyname="username"value="${username}"/>
<propertyname="password"value="${password}"/>
<propertyname="driverClassName"value="${driverClassName}"/>
<propertyname="filters"value="${filters}"/>
<!--最大并发连接数-->
<propertyname="maxActive"value="${maxActive}"/>
<!--初始化连接数量-->
<propertyname="initialSize"value="${initialSize}"/>
<!--配置获取连接等待超时的时间-->
<propertyname="maxWait"value="${maxWait}"/>
<!--最小空闲连接数-->
<propertyname="minIdle"value="${minIdle}"/>
<!--配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒-->
<propertyname="timeBetweenEvictionRunsMillis"value="${timeBetweenEvictionRunsMillis}"/>
<!--配置一个连接在池中最小生存的时间,单位是毫秒-->
<propertyname="minEvictableIdleTimeMillis"value="${minEvictableIdleTimeMillis}"/>
<propertyname="validationQuery"value="${validationQuery}"/>
<propertyname="testWhileIdle"value="${testWhileIdle}"/>
<propertyname="testOnBorrow"value="${testOnBorrow}"/>
<propertyname="testOnReturn"value="${testOnReturn}"/>
<propertyname="maxOpenPreparedStatements"value="${maxOpenPreparedStatements}"/>
<!--打开removeAbandoned功能-->
<propertyname="removeAbandoned"value="${removeAbandoned}"/>
<!--1800秒,也就是30分钟-->
<propertyname="removeAbandonedTimeout"value="${removeAbandonedTimeout}"/>
<!--关闭abanded连接时输出错误日志-->
<propertyname="logAbandoned"value="${logAbandoned}"/>
</bean>
⑵ sql server 数据库的连接池怎么放大
可以使用一组名称-值对以链接字符串的形式配置链接池。例如,可以配置池是否有效(默认是有效的),池的最大、最小容量,用于打 开链接的排队请求被阻断的时间。下面的示例字符串配置了池的最大和最小容量。 "Server=(local); Integrated Security=SSPI; Database=Northwind; Max Pool Size=75; Min Pool Size=5"摘要 连接池允许应用程序从连接池中获得一个连接并使用这个连接,而不需要为每一个连接请求重新建立一个连接。一旦一个新的连接被创建 并且放置在连接池中,应用程序就可以重复使用这个连接而不必实施整个数据库连接创建过程。 当应用程序请求一个连接时,连接池为该应用程序分配一个连接而不是重新建立一个连接;当应用程序使用完连接后,该连接被归还给连接 池而不是直接释放。 确保你每一次的连接使用相同的连接字符串(和连接池相同);只有连接字符串相同时连接池才会工作。如果连接字符串不相同,应用程序 就不会使用连接池而是创建一个新的连接。优点 使用连接池的最主要的优点是性能。创建一个新的数据库连接所耗费的时间主要取决于网络的速度以及应用程序和数据库服务器的 (网络)距离,而且这个过程通常是一个很耗时的过程。而采用数据库连接池后,数据库连接请求可以直接通过连接池满足而不需要为该请 求重新连接、认证到数据库服务器,这样就节省了时间。缺点 数据库连接池中可能存在着多个没有被使用的连接一直连接着数据库(这意味着资源的浪费)。技巧和提示 1. 当你需要数据库连接时才去创建连接池,而不是提前建立。一旦你使用完连接立即关闭它,不要等到垃圾收集器来处理它。 2. 在关闭数据库连接前确保关闭了所有用户定义的事务。 3. 不要关闭数据库中所有的连接,至少保证连接池中有一个连接可用。如果内存和其他资源是你必须首先考虑的问题,可以关闭所有的连 接,然后在下一个请求到来时创建连接池。连接池FAQ 当第一个连接请求到来时创建连接池;连接池的建立由数据库连接的连接字符创来决定。每一个连接池都与一个不同的连接字符串相关。 当一个新的连接请求到来时如果连接字符串和连接池使用的字符串相同,就从连接池取出一个连接;如果不相同,就新建一个连接池。 当连接池中的所有连接都已经关闭时关闭连接池。 当连接池已经达到它的最大连接数目时,有新的连接请求到来时,新的连接请求将放置到连接队列中。当有连接释放给连接池时,连接池将 新释放的连接分配给在队列中排队的连接请求。你可以调用close和dispose将连接归还给连接池。 对于.NET应用程序而言,默认为允许连接池。(这意味着你可以不必为这件事情做任何的事情)当然,如果你可以在SQLConnection对象的连 接字符串中加进Pooling=true;确保你的应用程序允许连接池的使用。 ADO.NET默认为允许数据库连接池,如果你希望禁止连接池,可以使用如下的方式: 1) 使用SQLConnection对象时,往连接字符串加入如下内容:Pooling=False; 2) 使用OLEDBConnection对象时,往连接字符串加入如下内容:OLE DB Services=-4;
⑶ dbcp连接池配置详解
首先,明确连接、活动连接(连接正被使用)、空闲连接的概念
一、创建连接
1、初始化 2、空闲连接低于最小空闲minIdle
二、销毁连接
1、空闲连接数目高于最大空闲 2、活动连接被遗弃
三、回收行为
1、空闲连接回收器(定时执行)2、连接回收器(maxwait后触发)
initialSize 初始化连接数,即连接池启动时池子中的连接数目
maxActive 最大活动连接数,即连接池中可同时连接的最大数目
minIdle 最小空闲连接,连接池中最少的空闲的连接数,
低于这个数量时,意味着连接不够用了,会被创建新的连接
默认为0,该参数越接近maxIdle,性能越好,因为连接的创建和销毁,都是需要消耗资源的;
不宜太大,因为在机器很空闲的时候,也会创建低于minidle个数的连接,类似于jvm参数中的Xmn设置。
maxIdle 最大空闲连接
超过此参数时空闲连接将被释放,如果设置为负数表示不限制
默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连接池中idle的个数上升超过maxIdle,而造成频繁的连接销毁和创建,类似于jvm参数中的Xmx设置。
maxIdle 最大空闲连接
超过此参数时空闲连接将被释放,如果设置为负数表示不限制
默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连接池中idle的个数上升超过maxIdle,而造成频繁的连接销毁和创建,类似于jvm参数中的Xmx设置
maxWait 请求连接时,最长的等待时间。
单位ms,当没有可用连接时,连接池会等待连接释放,超过该时间限制会抛出异常,如果设置-1表示无限等待(默认为无限)。
⑷ spring+ mybatis怎么配置自带的数据库连接池
<!-- JNDI方式配置数据源 -->
<!-- <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="${jndiName}"></property> </bean> -->
<!-- 配置数据源 -->
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="url" value="${jdbc_url}" />
<property name="username" value="${jdbc_username}" />
<property name="password" value="${jdbc_password}" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="0" />
<!-- 连接池最大使用连接数量 -->
<property name="maxActive" value="20" />
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="20" />
<!-- 连接池最小空闲 -->
<property name="minIdle" value="0" />
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="60000" />
⑸ oracle数据库连接池怎么配置
连接池是创建和管理多个连接的一种技术,这些连接可被需要使用它们的任何线程使用。连接池技术基于下述事实:对于大多数应用程序,当它们正在处理通常需要数毫秒完成的事务时,仅需要能够访问JDBC连接的1个线程。未处理事务时,连接处于闲置状态。使用连接池,允许其他线程使用闲置连接来执行有用的任务。事实上,当某一线程需要用JDBC在MySQL或其他数据库上执行操作时,需要用到由连接池提供的连接。使用连接完成线程后,线程会将连接返回给连接池,以便该连接能够被其他需要使用连接的线程使用。从连接池“借出”连接时,该连接仅供请求它的线程使用。从编程观点看,其效果等同于每次需要JDBC连接时调用DriverManager.getConnection(),但是,采用连接池技术,可通过使用新的或已有的连接结束线程。连接池技术能显着增加Java应用程序的性能,同时还能降低资源使用率。
http://blog.csdn.net/xilangyuyun/article/details/52800380
⑹ Java数据库连接池的几种配置方法(以MySQL数
连接先建立一些连接,并且这些连接允许共享,因此这样就节省了每次连接的时间开销。Mysql数据库为例,连接池在Tomcat中的配置与使用。
1、创建数据库Student,表student
2、配置server.xml文件。Tomcat安装目录下conf中server.xml文件。
<GlobalNamingResources>
<Resource
name="jdbc/DBPool"
type="javax.sql.DataSource"
password=""
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/student"
maxActive="3"
/>
</GlobalNamingResources>
name:指定连接池的名称
type:指定连接池的类,他负责连接池的事务处理
url:指定要连接的数据库
driverClassName:指定连接数据库使用的驱动程序
username:数据库用户名
password:数据库密码
maxWait:指定最大建立连接等待时间,如果超过此时间将接到异常
maxIdle:指定连接池中连接的最大空闲数
maxActive:指定连接池最大连接数
3、配置web.xml文件。
<web-app>
<resource-ref>
<description>mysql数据库连接池配置</description>
<res-ref-name>jdbc/DBPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</web-app>
4、配置context.xml文件
与server.xml文件所在的位置相同。
<Context>
<ResourceLink
name="jdbc/DBPool"
type="javax.sql.DataSource"
global="jdbc/DBPool"
/>
</Context>
5、测试
DataSource pool = null;
Context env = null;
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try{
env = (Context)new InitialContext().lookup("java:comp/env");
//检索指定的对象,返回此上下文的一个新实例
pool = (DataSource)env.lookup("jdbc/DBPool");
//获得数据库连接池
if(pool==null){out.printl("找不到指定的连接池!");}
con = pool.getConnection();
st = con.createStatement();
rs = st.executeQuery("select * from student");
}catch(Exception ex){out.printl(ne.toString());}
⑺ java数据库连接池配置的几种方法
数据库连接池的主要操作如下:
(1)建立数据库连接池对象(服务器启动)。
(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。
(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。
(4)存取数据库。
(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。
(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。
⑻ tomcat数据库连接池,到底如何配置阿...
在下META-INF的context.xml下配置 和修改/conf/server.xml里加Context是一样的, 有spring配在spring的配置文件里,
简单给你段配置
<Context path="/apppath" docBase="myapp" debug="0">
<Resource name="jdbc/myDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="userid" password="mypass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/myDB?autoReconnect="true"
removeAbandoned="true" removeAbandonedTimeout="60"
logAbandoned="true" />
</Context>
外,随便说句,tomcat配置里默认用的是dbcp,性能并不好;至于用什么数据库,换驱动和链接串就行了
⑼ 如何在 resin下配置数据库连接池
这项技术能明显提高对数据库操作的性能。
数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。
resin提供了一个良好的连接池来供开发人员来实现数据库连接,具体配置如下:
在/conf/resin.conf中加入以下内容:
<database