問題タブ [connection-pool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
6813 参照

tomcat - Tomcat は removeAbandonedTimeout を無視し、プール内の接続を閉じます

commons dbcpを使用して、as400上のDB2へのJDBC接続でTomcat 7.0に取り組んでいます。サーバーに負荷をかけるとすぐに、設定した30分のremoveAbandonedTimeout設定を無視して、データベースへの接続をすぐに開いたり閉じたりします。いくつかの設定を試しましたが、役に立ちませんでした。たとえば、15 秒間隔で、明白な理由もなく 150 の接続を開き、140 の接続を閉じます。このアプリケーションは古い WebSphere サーバーで実行されており、本当にアイドル状態でない限り、接続を閉じません。

これが私の構成です:

システムがアイドル状態のとき、またはテスト アカウントが 2 つしかないときは、期待どおりに動作しますが、サーバーに負荷をかけるとすぐに大量の開閉が開始されます。たとえば、同じ 15 秒間隔で 150 の接続を開き、90 の接続を閉じます。as400 の QZ ジョブの開始と終了に関連するソケットのオープンとクローズを監視ソフトウェアから読み取っています。接続が使用されている間、これは継続的に行われます。

これは、接続プールの目的に反します。どんな考えやアイデアでも大歓迎です。

また、最初にどのパラメーターを使用する必要があるかが明確でないため、混乱します。Tomcat JDBC 接続プール パラメータとは異なる commons dbcp パラメータ、つまり removeAbandonedOnMaintenance は受け入れられません。ただし、minEvictableIdleTimeMillis のデフォルト値 1800000 が選択され、Tomcat jdbc プール パラメータから 60000 ではありません。

https://commons.apache.org/proper/commons-dbcp/api-1.2.2/index.html

https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

パラメータを明示的に設定しない場合、これがデフォルトとして得られるものです。Commons DBCP パラメータではなく、すべての tomcat jdbc プール パラメータがリストされているようです。ただし、Tomcat JDBC 接続プール パラメータから 60 秒ではなく、commons DBCP から minEvictableIdleTimeout のデフォルトを取得します。奇妙な部分は、removeAbandoned パラメータが commons dbcp にリストされていないことです。これは、removeAbandonedOnMaintenance と removeAbandonedOnBorrow です。私は今、このゼリーを壁に釘付けにしようとしています.

jmxproxy を使用して、リアルタイムの統計と設定を取得します。

http://myserver:8080/manager/jmxproxy/?qry=Catalina%3Atype%3DDataSource%2C *

0 投票する
1 に答える
63 参照

postgresql - JBOSS を介してアプリケーションを実行しているときに Postgres が致命的なエラーを出す

postgresqlデータベースを使用してJBossを介してアプリケーションを実行していますが、最大接続エラーが発生しますが、 PGAdminを介してデータベースに接続できます

17:14:44,917 エラー [STDERR] [警告] com.mchange.v2.resourcepool.BasicResourceP ool$AcquireTask@52900718 -- 取得に失敗しました!!! 保留中の取得をクリアしています。必要な新しいリソースを取得しようとしているときに、許可されている最大取得試行回数 (2) を超えて成功しませんでした。最後の取得試行例外: org.postgresql.util.PSQLException: FATAL: 残りの接続スロットは、org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(Conn