2017-05-30 62 views
1

Postgres用にNpgsqlを使用する場合は、接続プーリングを使用してください。 (http://www.npgsql.org/Postgres Npgsqlの接続プーリング

私は、接続文字列を使用します。

ユーザーID =ルート;パスワード= mypasswordという;ホスト= localhostの; = 5432ポート;データベース= MYDATABASE;プール=真;分プールサイズ= 0;最大プールサイズ= 100;

"プーリング"はどこで行われますか?私のアプリケーションサーバーまたはデータベース上で?

私はconnection.Open()を呼び出すとどうなりますか?プールが存在する場合はそのプールから接続が取得され、存在しない場合はプールが作成されますか?

Connection Poolingについての他の一般的な情報は高く評価されます。

ありがとうございました。

答えて

5

Npgsql接続プーリングはアプリケーションプロセス内で実装されています。PostgreSQLとはまったく関係がありません。これはまったく認識しません。

メカニズムは非常に簡単です。プールされた接続を閉じると、PostgreSQLへの接続を物理的に切断するのではなく、物理的な接続がアイドル状態のままメモリ内(「プール」内)に保持されます。次回新しい接続を開くときに、その接続文字列が既にプール内に存在する物理接続と一致する場合、新しい物理接続を開く代わりにその物理接続が再利用されます。

物理接続の開閉は費用のかかるプロセスなので、アプリケーションのスピードが大幅に向上します。

+0

ありがとう、シェイ。情報を感謝します。 – Chris

関連する問題