postgresql 我应该有多少max_connections?

tquggr8v  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(1)|浏览(125)

我们运行一个整体 *Sping Boot * 应用程序,该应用程序设置为多租户,因此每个客户都有自己的应用程序服务和数据库(大约30-40个),但它们仍然在同一PostreSQL服务器上运行。我们以前遇到过数据库中没有足够空间用于连接的问题,因为我们的连接池程序(HikariCP)设置不正确,这会导致环境之间出现混乱,有人会获得15个空闲连接,而有人根本没有连接,无法连接到数据库,从而导致应用程序崩溃。
我们的修复方法是将max_connections从150改为350,虽然这对崩溃有帮助,但我不确定这是否是正确的方法。在做了一些研究后,由于性能问题,似乎只是增加max_connections不是最明智的方法。今天,在我们的应用程序中,我们将最小池大小设置为5,最大池大小设置为10。但我想知道这是否有些过头了,我们应该将最小连接数降至2,最大连接数降至5,同时将最大连接数降至150-200左右。或者,保持最大连接数不变是否安全?在这种情况下,建议使用什么硬件?目前,我们运行的是1个vCPU3.5gb内存但我们正在计划升级。在我们的情况下什么是最佳的?当我们的数据库(客户)数量增加时该怎么办?我们是将我们的max_connections升级到所需的任何数量,还是设置一个新的PostgreSQL服务器?在此先感谢您

0ve6wy6x

0ve6wy6x1#

350个连接对于3.5GB的内存来说是很大的,每个后端只有10 MB。这并不 * 保证 * 会导致交换/分页问题,但是如果会的话也不奇怪。我会尝试降低最大连接池大小。这样做可能不会导致任何问题,如果是这样的话,它们可能更容易管理。让数据库服务器交换到死亡是最糟糕的。您的监视停止工作。由于终端本身在合理的时间范围内停止响应,因此您无法进行更改。

相关问题