web-dev-qa-db-ja.com

pgbouncerで接続数を制限する

だから私はこのpgbouncer設定を持っています:

[databases]
my_db = Host=10.10.10.10
my_db_with_conn_limit = Host=10.10.10.10 dbname=my_db pool_size=55

max_client_conn = 300
default_pool_size = 65
reserve_pool_size = 5
reserve_pool_timeout = 1 

そして、目標は特定のアプリからの接続数を制限することです-データベース名がdatabase_with_conn_limitの場合、許可される接続は55だけです。

基本的に、アプリは同じですが、接続を1つに制限し、もう1つは必要な数だけ取得します。

  • これは正しい設定ですか?
  • または、my_dbにもpool_sizeを指定して、すべてのPostgresにマイナス55を与える必要がありますか?
6
Victor Ivanov

「my_dbにもpool_sizeを指定する」必要はありません。

ただし、構成によって接続数が制限されることはありません。 制限する必要がありますmax_db_connectionsそのため、次のようにします。

[databases]
my_db = Host=10.10.10.10
my_db_with_conn_limit = Host=10.10.10.10 dbname=my_db pool_size=55  max_db_connections=55

それ以外の場合は、プール内のセッション数を制限しますが、接続数は制限しません...

代わりに、データベースとユーザーのペアごとに異なる制限を設定することもできます(これはより一般的な方法だと思います)。

4
Vao Tsun