What does database connection limit mean?

Nep*_*nat 3 database django postgresql

I'm using Django with a Postgres database from heroku. The heroku database has a

"connection limit of 20".

I don't understand what this means.

连接是如何定义的?每次用户访问我的网站时,我都会获得一些数据库内容。这是否已经是一个连接,因为我的网站需要连接到数据库才能获取此数据?

如果达到连接总数会怎样?网站还能用吗?

Nav*_*pak 6

您执行的每个查询都会连接到数据库。

例如,如果您想从数据库中获取一些数据,通常会发生以下情况:

1 - 您在 Django 级别执行查询。

2 - Django 会将您的查询转换为 SQL。

3 - Django 创建到您的数据库的连接。

4 - 您的查询将在数据库中执行。

5 - Django 将收到结果。

6 - Django 将关闭连接。

该限制意味着您只能有 20 个任务同时处理第 3 步到第 6 步。

如果您超过此限制,您的应用程序将通过错误或您的应用程序尝试,直到它可以建立连接(尝试次数将受到限制,如果您也超过尝试次数,您将收到错误)这导致您的应用程序在某些请求上变慢或中断。

您要么必须升级服务器/获得更多服务器,要么必须优化代码以减少查询(例如组合查询)。