我在繁忙的 postgres 9 数据库前运行 pgBouncer。在大多数情况下,它工作正常。但是每隔几个小时我就会收到一封来自我的应用程序的错误电子邮件,但 psycopg2 有一个例外:
OperationalError('无法连接到服务器:无法分配请求的地址服务器是否在主机“neo-hulk”上运行并接受端口 6432 上的 TCP/IP 连接?')
这是一个 python 应用程序,有一群 celery 工人在运行任务。当这些错误到达时,我检查 pgbouncer db 并且池大小在限制范围内。经过一些实验,我将池最大大小设置为 400,将池大小设置为 200。池模式是“会话”(请求大多是自动提交,几乎没有事务)。
是什么让 pgBouncer 像那样“消失”?它只是在短时间内(总的来说,与处理的请求数量相比,我们谈论的请求数量很少),但那些失败的请求很重要。
谢谢!