django.db.utils.OperationalError:致命:抱歉,已经有太多客户端

van*_*aer 6 django postgresql load-testing locust

我正在 Django 的开发服务器上运行 Django 应用程序,并使用 PostgreSQL 作为后端数据库。我收到这个错误:

django.db.utils.OperationalError: FATAL:  sorry, too many clients already
Run Code Online (Sandbox Code Playgroud)

当我使用 Locust 进行负载测试时。我的 Locust 脚本使用 100 个并发客户端运行测试:

env.runner.start(100, spawn_rate=100, wait=True)
Run Code Online (Sandbox Code Playgroud)

我在SO上看到了几个答案,例如:

  1. 出现操作错误:致命:抱歉,太多客户端已经在使用 psycopg2
  2. 当未达到 max_connections 数量时,收到“FATAL:抱歉,客户端已经太多”
  3. Django+Postgres 致命:抱歉,已经有太多客户了

从这些线程中,我想我明白了错误的原因,但我仍然很困惑。如果 PostgreSQL 甚至无法处理 100 个并发客户端,那么它在现实生活中如何扩展?这与我使用开发服务器有什么关系吗?如果我使用 Gunicorn 有帮助吗?如果需要一些连接清理,我是否应该在 Locust 脚本中实现?我在这个领域还很陌生,所以如果这些问题的答案是显而易见的,我深表歉意。