Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Koneksi Zombie ke MySQL menggunakan c3p0 dengan Tomcat

Ada beberapa kemungkinan.

Kemungkinan besar Anda telah menempatkan elemen Resource ini di $CATALINA_BASE/conf/context.xml File tersebut menyediakan context.xml default untuk setiap aplikasi web. Oleh karena itu, jika Anda memiliki enam aplikasi web, Anda akan memiliki enam kumpulan koneksi. Karena ukuran polling minimum adalah 200, akan ada minimum 200*6=1200 koneksi yang dibuka ke database.

Kemungkinan lainnya adalah aplikasi web telah dimuat ulang. Anda harus mendapatkan kumpulan koneksi baru dan yang lama akan menjadi GC. Namun, jika Anda mengalami kebocoran memori saat memuat ulang (sangat mudah dilakukan tanpa disadari), hal itu dapat membuat kumpulan koneksi, bersama dengan koneksi terbukanya, dalam memori meningkatkan total koneksi Anda.

Untuk meletakkan definisi di server.xml :

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

dan ini di 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. Cari tahu apakah pernyataan REPLACE telah diganti atau baru saja dimasukkan ke MySQL

  2. Bagaimana cara menghapus baris mysql setelah waktu berlalu?

  3. MySQL InnoDB:kunci non-utama peningkatan otomatis

  4. Menggunakan pilih ke dalam variabel lokal dan pernyataan yang disiapkan di mysql

  5. Lewati dan Ambil tidak berfungsi dengan MySQL EntityFrameworkCore