Postgresql postgres连接超过最大连接数?

Postgresql postgres连接超过最大连接数?,postgresql,port,connection,netstat,Postgresql,Port,Connection,Netstat,我们正在运行一个连接量很大、插入量很大的postgres数据库(我们本应该进行一些连接池,但现在没有时间了) 在进行一些故障排除时,我使用netstat向我显示有多少个到postgres的连接。我通常会看到比我在postgres.conf文件中指定的更多的内容(通过max_连接) 我将通过netstat看到1400-1600个连接,即使我将max_连接设置为1000 有人知道发生了什么事吗?这到底是怎么发生的 对此有任何见解都很好。这些连接可能已经关闭了吗?例如,Windows不会立即关闭连接,

我们正在运行一个连接量很大、插入量很大的postgres数据库(我们本应该进行一些连接池,但现在没有时间了)

在进行一些故障排除时,我使用netstat向我显示有多少个到postgres的连接。我通常会看到比我在postgres.conf文件中指定的更多的内容(通过max_连接)

我将通过netstat看到1400-1600个连接,即使我将max_连接设置为1000

有人知道发生了什么事吗?这到底是怎么发生的


对此有任何见解都很好。

这些连接可能已经关闭了吗?例如,Windows不会立即关闭连接,但会将其状态更改为“TIME\u WAITING”

因此,这些连接显示在netsat中,但实际上是关闭的

只有那些显示为“已建立”的连接才是“实时”连接


顺便说一句:你可以简单地在你的PostgreSQL服务器前面放置一个连接池,而不改变你的应用程序。pgPool(或pgBouncer)将假装他们是应用程序的真正的PostgreSQL服务器,并在背后进行连接池“

使用连接池。超过1000个连接将显著降低数据库的速度,即使是1000个连接,也需要一些具有大量内核和RAM的$$$$硬件。使用连接池效率更高。

我知道。幸运的是,这是一个重要的服务器硬件,有32GB的RAM、16个内核和一些额外的应用。它将在下周投入生产,所以我们不能对代码进行任何大的修改。必须在版本更新中执行。不过我们还是吸取了教训。问题是测试和需求在最后发生了一些变化。我以为我们将有大约150个连接。正如我已经写的:使用pgPool或pgBouncer,您不需要更改代码中的任何内容就可以使用连接池