【发布时间】:2017-05-10 22:08:24
【问题描述】:
许多应用程序服务器都集成了连接池,甚至可以将独立应用程序配置为使用 HikariCP、Apache DBCP 等。
那么当应用程序已经有连接池时,使用 PgBouncer 有什么好处呢?
我找到的最接近的答案是What are advantages of using transaction pooling with pgbouncer?,它没有提到使用另一个连接池,并提到优点是空闲会话的使用。
我主要使用配置了最小池大小、最大池大小、空闲超时的 WildFly...所以它基本上会在空闲连接不使用时删除它们(如果这是主要优势的话)。
这让我觉得 PgBouncer 不适合这种情况,我应该只继续使用我的应用程序服务器连接池。
顺便说一句,在事务池模式下,PgBouncer 不能使用命名的预处理语句,这看起来不像是一个性能明智的选择。
如果有优势的话,和wildfly连接池玩得好吗?
【问题讨论】:
-
pgBouncer 通常在您还想在主服务器和从服务器之间进行负载平衡时使用。如果你只连接到单个 Postgres 服务器,那么你在 app-server 中的一个连接池就足够了
标签: java postgresql jdbc wildfly pgbouncer