在我的例子中,pgBouncer的最佳配置是什么?
我只有一个数据库,一个用户,max_connections在postgresql.conf中是1024。
我的pgbouncer.config当前的配置是:
max_client_conn = 1024
default_pool_size = 1024
min_pool_size = 32
;max_db_connections = 50
;max_user_connections = 50发布于 2018-03-13 11:25:55
很高兴知道您同时要处理多少个连接。
我将根据您的服务器硬件使用期望来确定此值。
如果您期望有1024个并发连接,则此设置是正确的。
max_client_conn = 1024但这里有一些对我有用的改变。如果更改池模式,可以减少default_pool_size,这提高了我的性能。
pool_mode = transaction
default_pool_size = 50看看不同的池模式,看看是否可以从比默认值会话池模式更有效的池模式中获益。
会话池最礼貌的方法。当客户端连接时,服务器连接将在它保持连接的整个时间内分配给它。当客户端断开连接时,服务器连接将返回到池中。此模式支持所有PostgeSQL功能。事务池服务器连接仅在事务期间分配给客户端。当PgBouncer注意到事务已经结束时,服务器将被放入池中。这种模式破坏了很少基于会话的PostgreSQL功能。您只能在应用程序协作时才能使用它,因为它不使用破坏功能。有关不兼容的特性,请参见下表。语句池最激进的方法。这是一个扭曲的事务池-多语句事务是不允许的.这意味着在客户机上执行“自动提交”模式,主要是针对PL/Proxy。
https://dba.stackexchange.com/questions/200040
复制相似问题