Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Conexões Zombie para MySQL usando c3p0 com tomcat


Existem algumas possibilidades.

O mais provável é que você tenha colocado este elemento Resource em $CATALINA_BASE/conf/context.xml Esse arquivo fornece o context.xml padrão para cada aplicativo da web. Portanto, se você tiver seis aplicativos da Web, terá seis pools de conexão. Como o tamanho mínimo da sondagem é 200, haverá um mínimo de 200*6=1200 conexões abertas ao banco de dados.

A outra possibilidade é que o aplicativo da web tenha sido recarregado. Você deve obter um novo pool de conexão e o antigo será GC'd. No entanto, se você tiver um vazamento de memória ao recarregar (muito fácil de fazer sem perceber), ele poderá manter o pool de conexões, juntamente com suas conexões abertas, na memória, aumentando seu total de conexões.

Para colocar as definições em server.xml :
<Server>
  <GlobalNamingResources>
     <Resource name="jdbc/xxxx">...</Resource>
  </GlobalNamingResources>
</Server>

e isso em context.xml :
  <ResourceLink name="jdbc/xxxx"
      global="jdbc/xxxx"
      type="com.mchange.v2.c3p0.ComboPooledDataSource" />