gpt4 book ai didi

java - PgBouncer 与 WildFly/Application Server 连接池的优势?

转载 作者:搜寻专家 更新时间:2023-11-01 02:37:34 24 4
gpt4 key购买 nike

许多应用服务器都集成了连接池,甚至独立的应用程序也可以配置为使用 HikariCP、Apache DBCP 等。

那么在应用已经有连接池的情况下使用PgBouncer有什么优势呢?

我找到的最接近的答案是 What are advantages of using transaction pooling with pgbouncer?其中没有提到使用另一个连接池,并提到优势是空闲 session 的使用。

我主要使用配置有最小池大小、最大池大小、空闲超时...的 WildFly,因此它基本上会在空闲连接未使用时删除它们(如果这是主要优点)。

这让我觉得 PgBouncer 不适合这种情况,我应该只继续使用我的应用程序服务器连接池。

顺便说一句,在事务池模式下,PgBouncer 不能使用命名准备语句,这看起来不像是性能明智的选择。

如果有什么优势的话,是不是跟wildfly连接池玩的好?

最佳答案

如果你的应用服务器自带连接池,而且只有一台应用服务器连接到数据库,最好使用集成的连接池。

在这种情况下,pgBouncer 只是一个额外的组件,使架构更加复杂,并且您将承担应用程序服务器和 pgBouncer 之间所有连接的额外开销。

如果有多个应用服务器连接到同一个数据库,问题就不那么简单了。如果只有两三个应用程序服务器,没有 pgBouncer 也能正常工作。

连接到数据库服务器的应用程序服务器越多,您的数据库连接就越多,这会使数据库处于危险之中:如果太多这些连接同时变得繁忙,您的数据库性能和响应时间将会下降,因为数据库重载。在这种情况下,pgBouncer 将通过限制与数据库的 Activity 连接数来提供帮助。

关于java - PgBouncer 与 WildFly/Application Server 连接池的优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43903485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com