如何計算 PostgreSQL 的 max_connections 和 pgbouncer 的 default_pool_size ?

如何計算 PostgreSQL 的 max_connections 和 pgbouncer 的 default_pool_size ?

是否有規則或其他東西可以用來計算max_connections,default_pool_size和 的好數字max_client_conn

預設值是奇數。 PostgreSQL 預設 max_connections=100,而 pgboucner 預設為 default_pool_size=20。 default_pool_size 不應該總是高於 max_connections 嗎?否則,還有什麼意義呢?我認為 pgbouncer 的目的是讓我們透過降低開銷(透過重複使用 PostgreSQL 的連線)來處理更多連線。我很困惑。

我正在尋找類似於中的建議PostgreSQL 的 wiki,例如「這個參數應該佔你記憶體的~50%」。

我還記得有一個 MySQL 電子表格可以讓你計算這些參數。如果 PostgreSQL/pgbouncer 能有類似的東西那就太棒了。

答案1

default_pool_size 應始終小於 max_client_conn。 max_client_connection 是應用程式和 pgbuffer 之間的套接字連接數。 default_pool_size是pgbuffer和db之間的連接數。

因此,如果您使用交易作為池模式,您可以與大量用戶端共用較小的default_pool_size。

相關內容