从Tomcat应用程序太少连接

从Tomcat应用程序太少连接

问题描述:

我有一个为150。max_connections的值来配置一个MySQL数据库我也有一个Java 6的web应用到Tomcat 5.5以下设置配置运行:从Tomcat应用程序太少连接

<Resource name="jdbc/myDB" 
type="javax.sql.DataSource" 
driver="com.mysql.jdbc.Driver" 
username="username" 
password="password" 
maxActive="100" 
maxIdle="100" 
maxWait="-1" 
removeAbandoned="true" 
removeAbandonedTimeout="300" 
logAbandoned="true" 
url="jdbc:mysql://localhost:3306/myDB?autoreconnect=true" 
validationQuery="SELECT 1" /> 

此应用程序不使用任何第三方框架只是基本的Java Servlet。我在java应用程序中的某些代码中存在一个错误,它没有正确地从池中释放已打开的mysql连接。我正在确定并修复这些问题。但在此期间,我需要弄清楚为什么最多只有25个连接被允许进入mysql。在这25个连接用完之后,应用程序变得无响应。

有人可以请帮我找出为什么mysql和tomcat配置为100+连接,但它一次只允许25个?

+0

您可以在管理连接重用的应用程序服务器中配置数据库连接池。 – Rob 2014-12-05 01:23:06

+0

@Rob,我将我的连接池设置添加到我的问题中,你看到有什么问题吗? – 2014-12-05 04:36:05

Tomcat JDBC连接池

你使用什么连接池?您是否使用Tomcat JDBC Connection Pool而不是Apache Commons池?它的属性为detect connection leaks或放弃长时间连接的配置超过配置的超时。

MySQL的max_connections设置为150,但max_user_connections设置为25,这是限制因素。我从my.cnf中删除了这个设置,将它恢复到默认值unlimited。