我在基于spring的应用程序上工作,在那里我管理连接池来管理MySQL和Java应用程序之间的连接。
连接池配置如下所示:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName" value="${database.driver}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.user}" />
<property name="password" value="${database.password}" />
<property name="initialSize" value="20" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="50" />
<property name="minIdle" value="10" />
</bean>现在我的问题是:
1)我有两个不同的应用程序具有相同的配置,那么mysql将维护多少个连接池,它将为所有具有maxactive1=100的应用程序维护一个连接池,或者它将基于每个应用程序。在我的例子中,2* 100 = 200(maxactive)。
2)如果我在1秒内有500个请求,那么最好的maxactive值是多少?
发布于 2014-11-26 14:01:08
1) MySQL不知道你的连接池。MySQL有自己的最大允许连接数选项。且数量应大于所有连接池所需的连接数之和。所以在你的例子中是2*100。
2)最佳最大活动值取决于多个因素。如果1秒处理一个请求,则每秒500次请求需要500个连接。但是如果请求处理时间是0.1秒,50个连接就足够了。
https://stackoverflow.com/questions/27141811
复制相似问题