pgbouncer:放在本地主机上可以吗,还是放在另一台服务器上更好?

pgbouncer:放在本地主机上可以吗,还是放在另一台服务器上更好?

我即将把我的(小型)服务器场迁移到 Google Cloud Platform,因此对架构进行小幅改型。我即将提交的更改之一是引入 pgBouncer,以管理池(目前我只有一个带有 Debian Jessie 的 DB 服务器)。

但是我在任何地方都找不到(或者我需要提高我的谷歌搜索技能:-))这种信息:

如果我在运行 PostgreSQL 的同一台机器上安装 pgBouncer,是否会影响性能?(我主要关心的是 I/O,而 CPU 和内存总是可以改进的)。将它安装在其他地方是否更好?

提前致谢

答案1

除非您对性能要求极高(或硬件严重不足),否则我认为在 DB 服务器上运行 pgbouncer 不会有显著效果。但是,您可能需要考虑 DB 客户端和服务器之间的网络连接。具体来说,如果您将 pgbouncer 放在客户端上,那么它将与 DB 服务器建立“跨网络”连接并保持连接,避免重复的 TCP 握手,然后客户端将与 pgbouncer 建立非常快速的本地连接。如果您将 pgbouncer 放在 DB 服务器上,那么在网络连接方面没有任何优势(客户端必须与远程 DB 服务器建立 TCP 连接),而 pgbouncer 所做的只是充当连接池。

相关内容