8

可能な限り高速な応答を提供する高負荷の Web サービスを開発しています。サービスは、パフォーマンスを高速化するために、さまざまなデータベースへの一連の接続を維持する必要があります。そのために接続プールを使用することをお勧めします。VPN を介した DB へのリモート アクセスが多いため、DB への接続に問題がある可能性があります。私が言ったように、サービスはできるだけ長く接続を維持する必要があります。

接続プール管理アルゴリズムとは何ですか?

接続文字列があります: コード:

User Id=inet;Password=somePassw0rd;Data Source=TEST11;Min Pool Size=5;Max Pool Size=15;Pooling=True

次に、コードで接続を開いたり閉じたりするだけです。それでおしまい。

現時点では、すべて問題ありません。DB 側には 5 つのセッションがあります。したがって、接続の問題をシミュレートするためにセッションを強制終了します。また、プール マネージャーによって接続が復元される場合と復元されない場合があります。

5 つの接続をすべて切断すると、元に戻せません。

プーリング マネージャーを構成するにはどうすればよいですか? DB接続をチェックする間の期間の設定はありますか?

私はvalidate connection=true;それを使用しましたが、DBへの再接続が必要な場合は多少の努力が必要になるため、すでに良好な接続を確立する方が効率的です.

私が使用したコンポーネントはdevArt dotConnect for Oracleです。前もって感謝します!

4

1 に答える 1

14

正確に何を探しているのかわかりませんが、これは便利です。接続がしばらくアイドル状態であるか、サーバーによって閉じられている場合、プールは自動的にクリアされます。ただし、OracleConnection のClearPoolまたはClearAllPoolsメソッドを使用して、プールのクリアランスを強制できます (これらのメソッドは通常、ほとんどの ADO.NET プロバイダーに存在しますが、必須ではありません)。

Oracle 11g を使用している場合、DotConnect は Oracle のDatabase Resident Connection Pooling (DRCP)もサポートしていることに注意してください。これは、Oracle 自体によって提供されているため、プーリングを行うためのおそらく最良の方法です (私は経験がありませんが)。

于 2011-10-10T05:51:27.513 に答える