PostgreSQL データベースに接続する Fluent NNibernate で NHibernate を構成しました。
ISessionFactory をコンストラクター パラメーターとして受け取り、キューからメッセージを消費するワーカー クラスがあります。メッセージごとに、ワーカー プロセスは ISessionFactory.OpenSession() を呼び出し、いくつかのデータベース処理を行います。
ワーカー プロセスを追加しても、システムのパフォーマンスは変わりません。さらに調査した結果、すべてのワーカー プロセスが単一のデータベース接続を使用していることに気付きました。たとえば、8 つのワーカー プロセスを追加しますが、データベースでは 1 つのデータベース接続しか確認できません。
私の理解では、接続プールがいっぱいでない限り、ISessionFactory.OpenSession() は新しいデータベース接続を開きます。
私の理解が間違っているのでしょうか、それとも Postgres NHibernate ドライバーに問題があるのでしょうか。