求使用 flask-sqlalchemy 的正确姿势,最近总报 Too many connections 错误, SQLALCHEMY_POOL_SIZE=5

2016-04-22 15:39:41 +08:00
 larkifly
如题,已经设置了 SQLALCHEMY_POOL_SIZE=5 ,依然无法解决。

mysql> show global status like '%connect%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| Aborted_connects | 8 |
| Connections | 374 |
| Max_used_connections | 21 |
| Ssl_client_connects | 0 |
| Ssl_connect_renegotiates | 0 |
| Ssl_finished_connects | 0 |
| Threads_connected | 5 |
+--------------------------+-------+
6189 次点击
所在节点    Python
6 条回复
myyou
2016-04-22 16:12:55 +08:00
你用 db.session.close()了没?
liyj144
2016-04-22 16:31:48 +08:00
show variables like "%max_connections%"; 查看最大连接数,我怀疑是 mysql 配置的最大连接数太小, 然后 show processlist; 看看连接情况。
larkifly
2016-04-24 23:56:00 +08:00
@myyou 没有,如果每次都 db.session.close(),那是不是要每次使用的时候,都得 db = SQLAlchemy(app)初始化一下连接???
myyou
2016-04-25 12:52:28 +08:00
@larkifly 不需要,你只是关闭连接回话( session ),和 SQLAlchemy(app)初始没关系。
larkifly
2016-04-25 17:36:31 +08:00
@myyou 哦,明白了,那么调用 Table.query.filter_by 这样的 select 语句时,需要关闭吗?
myyou
2016-04-26 09:55:47 +08:00
@larkifly 不需要

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/273662

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX