postgresql可以更好地执行多少连接


How many connections can postgresql perform better?

我有3个表,每次都要访问。我的PHP网页将请求发送到一个基于C语言的中间层,该层又将调用转移到postgresql。但是,当我从一个选项卡浏览时,所有记录都会被正确提取。但是,当我从许多浏览器/选项卡发出更多请求时,至少有一半会失败,而且作为一个嵌入式域,调试才是真正的问题。我怀疑来自不同浏览器的数据库连接同时被放入队列中,可能会出现一些错误。有人能谈谈你对这个制作问题的看法吗?

不要猜测,要知道。

您可以让PostgreSQL记录连接和断开连接。它可能已经为您记录了一条错误消息。检查日志。

如果不知道这个"C"层在做什么,很难说得更多。您可能会发现连接池很有用。也许可以先看看pgbouncer。

如果你没有从C层得到任何错误,请检查Postgresql日志文件,看看你是否在那里得到了错误。

我最初的猜测是:

a) C层混淆了线程之间的连接,同时用同一连接做两件事。

或者b)C层在完成连接后不会释放连接,所以你达到了内存限制。

无论哪种方式,你真的需要能够找到错误,然后才能进行它

Postgresql本身将处理大量并发连接,尽管您可能希望将它们汇集在一起,以减少每个会话的安装/拆卸时间。