考虑下面的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位
- OpenJDK 7的
- Tomcat的7
- MySQL的5.5