我们有一个使用 Tomcat 6 和 MySQL 5.0 的 Java Spring MVC 2.5 应用程序。我们有一个奇怪的场景,无论出于何种原因,c3p0 连接池中使用的连接数量开始失控并最终导致 tomcat 宕机。
我们通过 JMX 监控 c3p0 连接池,大多数时候,几乎没有使用连接。当这种螺旋式上升的情况发生时,我们的 tomcat 连接池会达到最大值,并且 apache 开始排队线程。
在螺旋式场景中,数据库负载较低,不会出现任何错误或任何明显的不良情况。
开始没有关于如何检测此问题的想法。当情况已经失控并且不确定我如何在它失控之前抓住它时,我认为做一个 tomcat 堆栈转储对我没有任何好处。
我们还使用 Terracotta,根据日志我不相信它在做任何奇怪的事情。
任何想法将不胜感激!
干杯!