Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zombie Connections do MySQL przy użyciu c3p0 z tomcat

Istnieje kilka możliwości.

Najprawdopodobniej umieściłeś ten element Resource w $CATALINA_BASE/conf/context.xml Ten plik zawiera domyślny plik context.xml dla każdej aplikacji internetowej. Dlatego jeśli masz sześć aplikacji internetowych, będziesz mieć sześć pul połączeń. Ponieważ minimalny rozmiar sondy wynosi 200, zostanie otwartych co najmniej 200*6=1200 połączeń z bazą danych.

Inną możliwością jest ponowne wczytanie aplikacji internetowej. Powinieneś otrzymać nową pulę połączeń, a stara zostanie usunięta z GC. Jeśli jednak podczas przeładowania wystąpi wyciek pamięci (bardzo łatwy do wykonania, nie zdając sobie z tego sprawy), może on zachować pulę połączeń wraz z otwartymi połączeniami w pamięci, zwiększając całkowitą liczbę połączeń.

Aby umieścić definicje w server.xml :

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

a to w context.xml :

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prawidłowy sposób przesyłania pliku binarnego do MySQL przez Spring MVC

  2. Biblioteka błędów pasażera nie została załadowana

  3. MySQL konwertuje datetime na unixtime?

  4. Wyświetlanie * w tabeli

  5. Zapytanie o dynamiczną aktualizację PHP PDO do MYSQL