我无法找到使用pgbouncer进行事务池与会话池的优缺点的完整摘要。
这是否意味着交易繁重的工作负载在某种程度上更好地负载平衡?是否要防止从pgbouncer连接到数据库需要多少连接?
答案 0 :(得分:32)
如果您拥有保持空闲会话的应用,则事务级池将有所帮助。 PgBouncer不需要保持会话打开和空闲,它只是在新事务启动时抓取一个。那些空闲的会话只会让你失去一个pgbouncer连接,而不是一个真正的闲置Pg会话,后端围绕浪费内存和放大器。同步开销无所事事。
您希望使用会话池而非事务池的主要原因是您要使用命名的预准备语句,建议锁定,侦听/通知或在会话级别而非事务级别上运行的其他功能。