Tomcat 7 で Grails アプリケーションを実行していますが、MySQL 接続の管理に問題があります。
問題は、アプリケーションへの新しい要求 (つまり、ページの読み込み) ごとに新しい MySQL 接続が作成され、これらの接続が閉じられないことです。代わりに、MySQL サーバーがそれ以上の接続の受け入れを最終的に拒否するまで、SLEEP 状態のままになります。したがって、サイトの個々のページを高速でリロードするだけで、多数のデータベース接続を作成できます。
そのため、接続プールが MySQL との接続を十分に速く閉じていないようです。接続プールには多くの構成設定がありますが、この問題を回避するために何を調整する必要があるかわかりません。
これが私の context.xml ファイルからの構成です。
<Resource name="jdbc/Production" auth="Container" type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
minEvictableIdleTimeMillis="1800000"
timeBetweenEvictionRunsMillis="1800000"
numTestsPerEvictionRun="3"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
testOnBorrow="true"
testWhileIdle="true"
testOnReturn="true"
validationQuery="SELECT 1"
username=""
password=""
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/Production"
/>
ご提案いただきありがとうございます。