我有一个在Tomcat7上运行的Web应用程序,它连接到MySQL 5.5。
我有两台运行相同代码的服务器:
Ubuntu的
红帽
Ubuntu运行良好,保持稳定的8-16连接,但红帽一连接泄漏,连接数增加,永不下降。服务器最终重置~152个连接。
关闭连接的代码被调用:
try {
conn.close();
} catch (SQLException e) {
exceptionController.logException(this.getClass().getSimpleName(), "finalize Db", e.getMessage(), false);
}finally{
conn = null;
}
与MySQL的所有连接都来自此应用程序。
为什么行为不同? 是否有我应该考虑的配置设置 - 例如关闭睡眠连接设置?
Ubuntu服务器状态:
红帽服务器状态:
连接列表的部分屏幕:
我发现这个post,似乎减慢了o / s连接速度,但它们仍在爬行。
修改
研究指出连接未正确关闭。为什么连接在一个环境中关闭而在另一个环境中关闭?
我已使用以下设置编辑my.cnf
:
wait_timeout=30
但是,客户端连接正在休眠,永远不会被杀死。已使用新设置重新启动服务器。
我不理解什么?
答案 0 :(得分:1)
我找到了解决方案。 XP SO Database Administrators。
RedHat有自己的mysql文件夹:
[root@localhost ~]# locate my.cnf
/etc/my.cnf
/opt/rh/mysql55/root/etc/my.cnf
这是配置问题,我的配置文件未被使用!