sql >> データベース >  >> RDS >> Mysql

tomcatでc3p0を使用したMySQLへのゾンビ接続

    いくつかの可能性があります。

    最も可能性が高いのは、このリソース要素を$CATALINA_BASE/conf/context.xmlに配置したことです。 このファイルは、すべてのWebアプリケーションのデフォルトのcontext.xmlを提供します。したがって、6つのWebアプリケーションがある場合は、6つの接続プールがあります。最小ポーリングサイズは200であるため、データベースに対して開かれる接続は最低200 * 6=1200になります。

    もう1つの可能性は、Webアプリケーションがリロードされていることです。新しい接続プールを取得する必要があり、古い接続プールはGCされます。ただし、リロード時にメモリリークが発生した場合(気付かないうちに非常に簡単に実行できます)、接続プールが開いている接続とともにメモリ内に保持され、接続の総数が増える可能性があります。

    定義をserver.xmlに配置するには :

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

    これはcontext.xmlにあります :

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



    1. OracleSQLのカスタムオーダー

    2. ビットまたは文字の代わりにブール値のJPA、MySQL、およびTinyInt(1)を休止状態にする

    3. ユーザーがリンクをクリックしたときにテーブルに新しいフィールドを作成する方法

    4. 2つの列から個別の組み合わせを選択します