[英]Flask SqlAlchemy MySQL connection timed out due to QueuePool overflow limit
[英]How can I investigate SQLAlchemy QueuePool limit overflow?
我明白了
TimeoutError:达到大小为5的QueuePool限制溢出10,连接超时,超时30
我看过这些问题:
以及他们的答案。 我试过它们,我试图在一个非常简化的代码库中重现我的问题。 我无法重现它。
我该怎么做才能找到/解决问题?
例如,我可以在Python中获取QueuePool的当前“用法”吗?
(另外,但可能更好的另一个问题:为什么我不应该将队列溢出设置为-1?)
到目前为止我没有尝试的是设置app.config['SQLALCHEMY_POOL_RECYCLE']
(在这里设置)。 我想我必须将它设置为较低的值才能解决这个问题,但是我可能会在其他地方获得超时,对吧?
对MySQL数据库运行show PROCESSLIST
以显示连接/池/用法。
TimeoutError: QueuePool limit of size 10 overflow 10 reached
(10 + 10 = 20)。 threaded=True
,我只看到一个连接打开。 提交或隐藏所有现有更改,然后创建一个分支并开始剥离代码/逐个简化您的应用程序,并查看问题是否仍然弹出。
(与#2结合使用)尝试减少SQLALCHEMY_POOL_SIZE
Flask-SQLAlchemy设置,以便更快地重现错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.