0
現在、データベース接続プーリング用にPgbouncer(データベースサーバーにインストール済み)を使用しています。同時に、独自の接続プールを持つNpgsqlライブラリを使用します。私は、Npgsqlでプーリングを無効にし、Pgbouncerのみを使用するように推奨することをお読みになりました。NpgsqlとPgBouncerポーリング
Npgsqlで接続プーリングを無効にすると、パフォーマンス上の問題が発生します。 私のテストによると、pgbouncerに接続するのに100msかかる。 PgBouncerを使用したサーバーへの遅延は、< 1msです。
5つの接続で5つのクエリを実行すると、500ミリ秒以上かかる場合があります。これは多すぎます。
正しく使用していますか?その接続待ち時間が私のパフォーマンスを殺しています。
pgbouncerへの接続を確立するのに100msかかることはありません。プール内にアイドル状態の接続がない場合を除きます。接続を適切にクローズ(つまり解放)していることを確認すると、PostgreSQLのログにも何が起きているのかを知ることができます。 –
注:私はpgbouncerが同じマシン上で実行されているか、あなたのアプリに非常に近いと仮定しています... –