Sqlalchemy:连接池溢出时连接未关闭

4
当我在我的站点上(使用 SQLAlchemy 和 postgresql 托管在 Apache web 服务器上)运行 ab(Apache 基准测试)时,SQLAlchemy 会与 postgre 建立许多连接,导致我遇到了太多的连接错误。
我追踪了问题,并发现问题出在池(实际上是 QueuePool)上。
文档中在 http://www.sqlalchemy.org/docs/core/pooling.html#sqlalchemy.pool.Pool 上说,如果池已满,则返回连接(因为 max_overflow 允许创建这些额外的连接)将被丢弃和断开连接。但似乎连接实际上没有关闭!它们悄悄地从池中掉出而没有关闭。
因此,SQLAlchemy 不断打开新连接,忽略它们(而不关闭!)并打开新连接。
增加池大小不是真正的解决方案,问题在于额外的连接没有关闭。
(QueuePool 的默认设置是 pool_size=5 和 max_overflow=10)
2个回答

1

0

我认为这是一个bug,已经修复了...从源代码安装后愉快地使用吧;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接