0

NHibernateとNpgsql(PostgreSQL DB)のプーリングメカニズムについて誤解があります。

それは実際にどのように機能しますか?DB接続文字列に「pooling=true」パラメータを設定できます。どちらの側で実際にプーリングが実行されますか:NHibernateまたはPostgreSql?PostgreSql 9.2には独自のプールメカニズムがないことを知っていますが、この場合、プーリングはどのように機能しますか?DB接続文字列で「MinPoolSize」および「MaxPoolSize」パラメーターを指定することもできます。これらのパラメータはどういう意味ですか?新しい接続が実際に作成されているとき(または「pooling = true」の場合はプールから取得されているとき)?新しいNHibernateセッションを開くとき、またはセッションの開始/終了に依存しない場合はどうなりますか?

4

1 に答える 1

1

NHibernateは接続プールを管理しません(実際には気にしません)。これは、一部のADO.Netプロバイダーの機能です。また、十分に洗練されたクライアントであれば、独自の接続プールを実装できるため、サーバーが必ずしも関与する必要はありません。結局のところ、それは予備の接続の数を開いたままにしておくことだけの問題です。

これはNpgsqlに実装されているものだと思います。

于 2012-12-11T20:13:25.897 に答える