sql >> Databasteknik >  >> RDS >> Mysql

Zombie Connections till MySQL med c3p0 med tomcat

Det finns ett par möjligheter.

Det mest troliga är att du har placerat det här resurselementet i $CATALINA_BASE/conf/context.xml Den filen tillhandahåller standardcontext.xml för varje webbapplikation. Därför, om du har sex webbapplikationer kommer du att ha sex anslutningspooler. Eftersom den minsta omröstningsstorleken är 200, kommer det att finnas minst 200*6=1200 anslutningar öppna till databasen.

Den andra möjligheten är att webbapplikationen har laddats om. Du bör skaffa en ny anslutningspool och den gamla kommer att GC'd. Men om du har en minnesläcka vid omladdning (mycket lätt att göra utan att inse) kan det behålla anslutningspoolen, tillsammans med dess öppna anslutningar, i minnet vilket ökar dina totala anslutningar.

För att lägga definitionerna i server.xml :

<Server>
  <GlobalNamingResources>
     <Resource name="jdbc/xxxx">...</Resource>
  </GlobalNamingResources>
</Server>

och detta i context.xml :

  <ResourceLink name="jdbc/xxxx"
      global="jdbc/xxxx"
      type="com.mchange.v2.c3p0.ComboPooledDataSource" />



  1. Potentiella förbättringar av ASPState

  2. PHP MySQL set Connection Timeout

  3. Konvertera från DUBBEL (15,2) till DECIMAL (15,2)

  4. VÄLJ från två tabeller baserade på samma id och grupperade