数据库连接限制是什么意思?

7
我正在使用Heroku提供的Postgres数据库来搭配Django。 Heroku数据库有"连接限制为20"
我不太理解这是什么意思。连接是如何定义的?每当用户访问我的网站时,我都会从数据库中获取一些数据。这已经算是一个连接了吗?因为我的网站需要连接到数据库才能获取这些数据。
如果总连接数达到上限会发生什么?网站还能继续工作吗?
1个回答

10
每次执行查询都会连接数据库。
例如,如果您想从数据库中获取一些数据,通常情况下会发生以下情况:
1 - 在django级别上执行查询。
2 - Django将查询转换为SQL。
3 - Django创建到您的数据库的连接。
4 - 数据库将执行您的查询。
5 - Django将接收结果。
6 - Django将关闭连接。
这种限制意味着您最多可以同时有20个任务在步骤3到6上进行。
如果超过此限制,您的应用程序将抛出错误,或者您的应用程序会尝试连接(尝试次数也有限制,如果超过限制,则会出现错误),这会导致您的应用程序变得更慢或在某些请求上出错。
您必须升级服务器/获取更多服务器,或优化代码以减少查询次数(例如,合并查询)。

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