日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

開啟或關閉連接池

如果您的業務場景中,短連接較多或需要頻繁創建和銷毀連接,建議您開啟RDS PostgreSQL的連接池功能,該功能可以幫助您有效降低頻繁創建和銷毀連接對實例性能的影響,控制數據庫服務器的負載和資源使用。

背景

PgBouncer是一個開源的數據庫連接池,專為PostgreSQL數據庫而設計。它充當應用程序和數據庫之間的中間層,負責管理數據庫連接并提供連接池功能。

PgBouncer的主要目標是優化數據庫連接的性能和資源利用率。當應用程序需要與PostgreSQL數據庫建立連接時,它可以通過連接池復用現有的數據庫連接,避免了頻繁地創建和銷毀連接產生的性能開銷。這種連接復用可以顯著減少數據庫服務器的負載,提高應用程序的響應速度和并發性能。

應用場景

適用于短連接較多,頻繁創建和銷毀連接的場景。

PgBouncer可以限制最大客戶端連接數和最大空閑時間等。有助于控制數據庫服務器的負載和資源使用情況,防止惡意或不合理的查詢連接過度占用系統資源。

前提條件

RDS PostgreSQL實例需滿足以下要求:

  • 實例大版本為PostgreSQL 11或以上。

  • 實例內核小版本為20230530或以上。

    說明
    • 查看或升級內核小版本請參見升級內核小版本

    • 暫不支持Babelfish for RDS PostgreSQL實例開啟PgBouncer。

    • 暫不支持RDS PostgreSQL Serverless實例開啟PgBouncer。

影響

  • 開啟PgBouncer默認會分配新端口6432,不會與原端口5432沖突,原5432端口的直連連接不受影響。

  • 開啟PgBouncer前或開啟PgBouncer后,如果開通SSL鏈路加密(服務端SSL加密或客戶端SSL加密),則PgBouncer也會同步開啟服務端SSL或客戶端SSL,但PgBouncer不支持訪問控制ACL (Access Control List)配置為verify-ca或verify-full的連接驗證,也不支持在證書到期前,配置客戶端證書吊銷文件

注意事項

  • 關閉PgBouncer后,將無法再使用PgBouncer端口連接實例,請在業務程序中將連接端口修改為實例原端口(默認為5432)。

  • PgBouncer雖然是一個強大的工具,但并不適用于所有情況。在某些特定的應用場景下,例如具有復雜事務、需要數據庫連接狀態跟蹤或需要使用特定PostgreSQL功能的應用程序,可能需要考慮直接連接到數據庫而不使用連接池。

費用

該功能免費。

操作步驟

開啟或關閉連接池

  1. 訪問RDS實例列表,在上方選擇地域,然后單擊目標實例ID。
  2. 在左側導航欄單擊數據庫連接

  3. 單擊開啟PgBouncer關閉PgBouncer

  4. 在彈出的對話框中,單擊確定。

  5. (可選)開啟PgBouncer后,即可在數據庫連接頁面查看PgBouncer端口,默認為6432。您可以單擊修改連接地址,在修改連接地址窗口中,選擇對應地址類型后,修改PgBouncer端口。

通過連接池連接RDS PostgreSQL實例

開啟PgBouncer后,如果需要通過連接池連接RDS PostgreSQL實例,則需要在連接RDS PostgreSQL實例時,將連接端口替換為PgBouncer端口(默認為6432)即可。如何連接RDS PostgreSQL實例,請參見連接PostgreSQL實例

修改連接池參數

開啟PgBouncer后,支持通過參數設置功能,修改PgBouncer的相關參數,調整連接池配置(如控制最大客戶端連接數)。如何修改RDS PostgreSQL實例參數,請參見設置實例參數

您也可以在系統參數模板中查看PostgreSQL_PgBouncer_默認參數模板(rpg-sys-pgsql-pgbouncer),了解更多PgBouncer相關參數信息。查看方法,請參見查看參數模板

重要
  • 開啟PgBouncer后才能通過參數設置功能查看和修改PgBouncer參數,關閉PgBouncer后,參數設置中將不顯示PgBouncer參數。

  • 如果您想要通過參數模板來批量修改參數,則必須先開啟PgBouncer,然后再將參數模板應用到RDS PostgreSQL實例。

  • 連接池的最大空閑時間默認為10分鐘,暫不支持修改。

支持修改的參數及相關說明如下:

參數名

參數類型

默認值

描述

pgbouncer.pool_mode

string

transaction

連接池模式,指定客戶端在什么情況下可以重用連接。

  • session:如果客戶端斷開連接,連接將會被釋放回連接池。

  • transaction:如果事務完成,連接將會被釋放回連接池。

  • statement:查詢完成后,連接將會被釋放回連接池。

pgbouncer.default_pool_size

int

20

連接池默認允許連接數。

pgbouncer.max_client_conn

int

100

連接池允許的最大客戶端連接數。

pgbouncer.min_pool_size

int

0

連接池允許的最小客戶端連接數。

pgbouncer.query_wait_timeout

int

120

允許查詢等待執行的最長時間。單位:秒。

如果在此期間未將查詢分配給服務器,則客戶端將斷開連接。

如果配置為0,則表示禁用。此時客戶端將無限期排隊。

pgbouncer.ignore_startup_parameters

string

"extra_float_digits"

啟動參數,您可以在此參數中指定PgBouncer啟動跟蹤參數,使用英文逗號(,)分隔。

重要

該參數默認值為extra_float_digits,建議您在修改時不要刪除此默認值,因為使用PostgreSQL JDBC連接實例時需要在此參數中包含extra_float_digits

pgbouncer.stats_users

string

""

允許連接到PgBouncer虛擬庫上運行只讀查詢的數據庫用戶,使用英文逗號(,)分隔。

說明

上述參數的更多解釋,請參見PgBouncer官方文檔

查看連接池相關監控指標

RDS PostgreSQL支持通過增強監控功能,查看PgBouncer的相關監控指標。增強監控的更多信息,請參見查看增強監控

說明
  • 為了更便捷地獲取PgBouncer的監控信息,開啟PgBouncer后,RDS PostgreSQL將自動在postgres庫下安裝pgbouncer_fdw和dblink插件,該插件暫不支持卸載。

  • 只有開啟連接池功能后,才可以在增強監控中查看連接池的相關監控指標。

PgBouncer監控指標如下:

指標

含義

db.pgbouncer.client_connections.active

客戶端活躍連接數。

db.pgbouncer.client_connections.waiting

客戶端等待連接數。

db.pgbouncer.server_connections.active

服務端活躍連接數。

db.pgbouncer.server_connections.idle

服務端空閑連接數。

db.pgbouncer.total_pooled_connections

連接池總連接數。

db.pgbouncer.num_pools

連接池數量。

相關OpenAPI

您可以調用ModifyDBInstanceConfig接口為RDS PostgreSQL實例開啟或關閉PgBouncer功能。需要配置的參數如下:

參數

說明

示例值

DBInstanceId

待開啟或關閉PgBouncer功能的RDS PostgreSQL實例ID。

pgm-****

ConfigName

配置項名稱。

pgbouncer

ConfigValue

配置項取值。

  • true:開啟

  • false:關閉

true