0

max_connections 値 150 で構成された mysql データベースがあります。また、次の設定で構成された Tomcat 5.5 で実行されている Java 6 Web アプリケーションもあります。

<Resource name="jdbc/myDB"
type="javax.sql.DataSource"
driver="com.mysql.jdbc.Driver"
username="username"
password="password"
maxActive="100"
maxIdle="100"
maxWait="-1"
removeAbandoned="true"
removeAbandonedTimeout="300"
logAbandoned="true"
url="jdbc:mysql://localhost:3306/myDB?autoreconnect=true"
validationQuery="SELECT 1" />

このアプリケーションは、基本的な Java サーブレットだけを使用してサード パーティのフレームワークを使用していません。開いている mysql 接続をプールから適切に解放していない Java アプリの一部のコードにバグがあります。これらの特定と修正に取り組んでいます。しかし、それまでの間、mysql への接続が最大で 25 しか許可されていない理由を突き止める必要があります。これらの 25 接続が使い果たされると、アプリケーションは応答しなくなります。

mysql と tomcat の両方が 100 以上の接続用に構成されているのに、一度に 25 しか許可されていない理由を誰かが理解するのを手伝ってくれますか?

4

2 に答える 2

0

MySQL の max_connections は 150 に設定されていましたが、max_user_connections は 25 に設定されており、これがここでの制限要因でした。この設定を my.cnf から削除して、デフォルト値の無制限に戻しました。

于 2014-12-05T16:08:21.703 に答える