sql >> Database >  >> RDS >> Mysql

Zombie-verbindingen met MySQL met behulp van c3p0 met tomcat

Er zijn een aantal mogelijkheden.

De meest waarschijnlijke is dat u dit Resource-element in $CATALINA_BASE/conf/context.xml hebt geplaatst Dat bestand biedt de standaard context.xml voor elke webtoepassing. Als u dus zes webapplicaties heeft, heeft u dus zes verbindingspools. Aangezien de minimale pollgrootte 200 is, worden er minimaal 200*6=1200 verbindingen geopend met de database.

De andere mogelijkheid is dat de webapplicatie opnieuw is geladen. U zou een nieuwe verbindingspool moeten krijgen en de oude zal GC'd zijn. Als je echter een geheugenlek hebt bij het herladen (heel gemakkelijk te doen zonder het te beseffen), kan het de verbindingspool, samen met de open verbindingen, in het geheugen houden, waardoor je totale aantal verbindingen toeneemt.

De definities in server.xml plaatsen :

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

en dit in context.xml :

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



  1. MySQL-updatetabel op basis van een andere tabelwaarde

  2. 11 aanbevolen procedures voor SQL Server-index voor verbeterde prestatieafstemming

  3. PowerShell verbinden met Salesforce.com

  4. MySQL binair tegen niet-binair voor hash-ID's