問題タブ [pooling]
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.
java - ステートレスセッションBeanをプールする理由
JavaのステートレスBeanは、クライアントからの2つの呼び出しの間で状態を保持しません。つまり、一言で言えば、それらをビジネスメソッドを持つオブジェクトと見なすことができます。各メソッドはパラメーターを受け取り、結果を返します。メソッドが呼び出されると、いくつかのローカル変数が実行スタックに作成されます。メソッドが戻ると、ローカルはスタックから削除され、一時オブジェクトが割り当てられている場合は、とにかくガベージコレクションされます。
私の見解では、同じ単一インスタンスのメソッドを別々のスレッドで呼び出すのと同じです。では、なぜコンテナは、多数のBeanをプールする代わりに、Beanの1つのインスタンスを使用できないのでしょうか。
sql - プロセス間のデータベース接続プール
複数の EXE で構成されるクライアント/サーバー アプリケーションがあります。データ アクセス レイヤーは、EXE モジュールによって共有されるライブラリ内のクライアントと同じ物理層にあります。ODBC および OleDB 接続プールは、プロセスごとに管理されます。プロセス間で DB 接続を共有する手法はありますか (データ アクセス層を中間層に移動する以外に)?
java - DBCP (Apache Commons Database Connection Pooling) はまだ関連していますか?
JDBC 3.0 仕様では、接続 (およびプリペアド ステートメント) プーリングについて説明しています。
接続プールを提供するために DBCP を使用しているスタンドアロンの Java プログラムがいくつかあります (つまり、アプリケーション サーバーは使用していません)。DBCP を使い続ける必要がありますか、それとも JDBC が提供するプーリングを利用して DBCP を取り除くことができますか?
MySQL (Connector/J) を使用しており、最終的には SQL Server サポート (jTDS) を追加する予定です。他のデータベースをサポートする可能性はほとんどありません。
編集: 接続プーリング ライブラリを排除しようとする試みについては、以下のコメントを参照してください。DBCP は依然として関連しているようです (一部のコメンターは、DBCP よりも C3P0 を推奨していることに注意してください)。
database - Linq を使用した DB への複数の投稿
2,000 人の Web ユーザーがそれぞれ Web サイトを介して同じテーブルで同時に sqldb に投稿を送信している場合、linq はこれを問題なく処理できますか?
delphi - IIS外のDelphi 7 ADO接続プーリング
IIS6 で ISAPI 拡張機能として実行される Delphi 7 アプリケーションがあります。このコードは、ADO を使用して MS SQL 2000 データベースに接続し、データベースに対して多くの読み取りを実行します (書き込みは行いません)。SQL プロファイラーで監査ログイン イベントとログアウト イベントを監視すると、アプリへの多数の要求が 1 つの監査ログイン イベントのみになることがわかります。ただし、IIS の外部から同じコードを実行すると (つまり、dll で同じメソッドを呼び出すテスト アプリ)、多くのログイン イベントとログアウト イベントが表示されます。私の推測では、何もしなくても IIS が自動接続プールを実行していると思われます。パフォーマンス上の理由から、IIS の外部から dll を実行したときに同じ動作を確認したいと考えています。この状況では、アプリはほぼ 100% 遅くなります。dll が IIS の外部で実行されている場合、ADO 接続プールを取得するにはどうすればよいですか?
編集 - 私は実際に SQL ole プロバイダーを使用しています。接続文字列は次のようになります。
プロバイダー=SQLOLEDB.1;初期カタログ=%s;データ ソース=%s;パスワード=%s;ユーザー ID=%s;プール=True;最小プール サイズ=5;最大プール サイズ=50;接続寿命=120
Pooling=True 属性を追加してみましたが、状況は変わりません。また、監査のログイン イベントとログアウト イベントが接続プールのために必ずしも変化しないことを知ったので、ログイン/秒、ログアウト/秒、およびユーザー接続のパフォーマンス カウンター (SQLServer:GeneralStatistics) を使用して、接続プールが発生するかどうかを判断し始めました。IIS の内部から見ると、1 秒あたりのログイン数が多く、1 秒あたりのログアウト数はありません。IIS の外では、1 秒あたりのログインとログアウトが多く、ユーザー接続は変動します (IIS では安定しています)。
mysql - 接続プーリング struts2+hibernate+mysql+tomcat+eclipse
接続プーリングの技術的な実装の詳細を把握するのが常に困難です。this one やthis oneなど、かなりの数の関連記事を読みましたが、まだ 100% 明確ではありません。接続プーリングは tomcat、mysql、またはその他の開発フレームワーク (struts2、spring、hibernate) に関連付けられていますか? これらの各フレームワークは、cp で動作するために特別な処理が必要ですか、それとも一度実装すれば、必要なフレームワークを使用しても問題ありませんか?
上記のすべてのフレームワークを使用した接続プーリングを含む簡単な例はありますか?
前もって感謝します。
敬具ディム
windows - マルチジョブプールプリンター制御
プールに同じトレイ/用紙が構成された4台のプリンターがあります。複数のジョブを送信でき、アイドル状態のプリンタごとにラウンドロビン方式でジョブがプリンタに送信されます。それはうまくいきますが、..私たちはWebベースでPDF出力ファイルを生成する新しいアプリケーションに取り組んでいます。データの「セット」には、3つの異なるトレイに出力される3つの異なる印刷「ジョブ」が含まれる場合がありますが、1台のプリンタから完了すると、ピックアップできることが望ましいでしょう。3つの印刷「ジョブ」を送信する方法の提案はありますが、その「セット」のジョブはすべて1台の物理プリンターだけにキューに入れられますか?現在、サードパーティのスプーラーが設置されています。古いもので、ちょっとくだらないです。
ありがとう。
c# - .net で独自の接続プールを実装する標準的な方法はありますか?
独自の接続プールを実装するために使用できる、.net のデータ プロバイダーで使用されるものと同様の標準接続プール モデル(または API) はありますか?
Web サービスで使用する独自の TCP/IP デバイスに独自の接続プールを実装する必要があるためです。現在の問題は、IIS で実行されている Web サービスのスレッド化された性質により、デバイスへの接続が大量にある (読み取りが多すぎる) ことです。独自の接続プールを使用してこれらの接続の数を制限したいのですが、これを行うために使用できる標準モデルがあれば、車輪を再発明するのはばかげているようです。
java - proxool を使用する場合、すべての getConnection() を明示的に閉じる必要がありますか?
新しい DB 接続コードを書いているので、接続プールの実装者として proxool を試してみようと思いました。
通常、プログラマーは、すべての DriverManager.getConnection(...) の後に connection.close() が続くことを確認します。
しかし、Proxool を使用する場合、クローズは必要ですか? 私は混乱しています:
を。ここの proxool のドキュメント ( http://proxool.sourceforge.net/quickStart.html ) には、close() が呼び出されていることが示されていますが、
b. proxool が、プログラムの終了時にすべての接続を閉じるシャットダウン フックを追加することをどこかで読みました。
私のプログラムの最大の関心事はパフォーマンス (最大 200 DB 書き込み/秒) であるため、Proxool の getConnection()/close() がパフォーマンスにどのように影響するかはわかりません。
私の質問は次のとおりです。
close() は必要ですか、それとも Proxool に頼って接続を閉じることができますか?
毎回明示的に close() を自分で呼び出さなければならない場合、パフォーマンスに悪影響はありませんか?
前もって感謝します。
java - Tomcat Web アプリケーションでの Java および MySQL による接続プーリング
最近、Java Web アプリケーションを作成してサーバーにデプロイしましたが、開発中やテスト中には発生しなかった異常な問題を発見しました。
ユーザーが久しぶりにログインし、データベースからのデータを表示しようとすると、表示するレコードがないことがページに示されます。ただし、ページを更新すると、ページ付けルールに従って最初のxレコードが表示されます。
ログを確認すると、次のことがわかります。
数百行についても同様です。
このアプリケーションは現在、約 100 人のユーザーに設定されていますが、まだ完全には使用されていません。これは、Apache Tomcat サーブレット/jsps と MySQL データベースの間で接続プーリングを使用します。次のコード例は、データベース操作の一般的な配置を形成します。通常、ページごとにいくつかあります。
この問題を修正する方法をアドバイスできる人はいますか?
MySQL が最大 8 時間接続ポーリング接続を開いたままにしていることが原因だと思いますが、確実ではありません。
ありがとう
マーティン・オシェイ。
接続プーリングの方法について 1 つの点を明確にするために、アプリケーションで使用しているのは Oracle ではなく、次のような独自のクラスです。
オラクルの言及は、私が似たような名前を使用しているためだと思います。