给定以下 Tomcat JDBC 连接设置:
<Resource name="jdbc/pc4"
maxActive="200"
maxIdle="100"
minIdle="50"
initialSize="50"
maxWait="15000"
auth="Container"
type="javax.sql.DataSource"
username="....."
password="....."
testOnBorrow="true"
testWhileIdle="true"
validationQuery="select 1"
driverClassName="com.mysql.jdbc.Driver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
url="jdbc:mysql://server_address/db_name?autoReconnect=true&autoReconnectForPools=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&socketTimeout=300000" />
以及以下 MySQL 参数:
max_connections = 100000
wait_timeout = 31536000
interactive_timeout = 31536000
我希望连接池中始终至少有 50 个空闲连接。
但真正发生的是:服务器启动时有 50 个连接,一段时间后,除了最后一个连接外,所有连接都死掉了。
我的配置有错误吗?
环境:
- Linux 3.4 64 位
- 开放JDK 7
- 雄猫 7
- MySQL 5.5