经常报获取连接超时异常

seelye 发布于 2016/02/26 14:21
阅读 273
收藏 0

maxActive=50,minIdle=5,经常报获取连接超时异常,每次报异常时,我通过SHOW FULL PROCESSLIST;查看mysql连接数,不到10个,没有达到50,再查看mysql配置my.ini,允许最大连接数为1000,请问是什么原因呢?

下面是我的配置

<!-- 初始化连接数 -->

<property name="initialSize" value="5" />

<!-- 最小空闲连接数 -->
<property name="minIdle" value="5" />
<!-- 最大连接数 -->
<property name="maxActive" value="50" />
<!-- 当连接池中连接已经用完了,等待建立一个新连接的最大毫秒数 -->
<property name="maxWait" value="10000" />
<!-- 默认值是 true ,当从连接池取连接时,验证这个连接是否有效 -->
<property name="testOnBorrow" value="true" />
<!-- 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串 -->
<property name="testWhileIdle" value="true" />
<!-- 默认值是 flase, 当从把该连接放回到连接池的时,验证这个连接是否有效 -->
<property name="testOnReturn" value="false" />
<!--用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,则查询必须是一个SQL SELECT并且必须返回至少一行记录-->
<property name="validationQuery" value="SELECT 'x'" />
<!-- 连接池中连接可空闲的时间 单位毫秒 30分钟 -->
<property name="minEvictableIdleTimeMillis" value="1800000" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeout" value="10000" />
<!-- 间隔多久才进行一次检测,检测需要关闭的空闲连接,单位毫秒,10分钟 -->
<property name="timeBetweenEvictionRunsMillis" value="600000" />


<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
<property name="poolPreparedStatements" value="false" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />


<!-- 配置监控统计拦截的filters -->
<property name="filters" value="stat" />


<!-- 每隔5分钟将监控日志输出,单位是毫秒。 -->
<property name="timeBetweenLogStatsMillis" value="300000" />


加载中
返回顶部
顶部