相关疑难解决方法(0)

空闲PostgreSQL连接是否有超时?

1 S postgres  5038   876  0  80   0 - 11962 sk_wai 09:57 ?        00:00:00 postgres: postgres my_app ::1(45035) idle                                                                                 
1 S postgres  9796   876  0  80   0 - 11964 sk_wai 11:01 ?        00:00:00 postgres: postgres my_app ::1(43084) idle             
Run Code Online (Sandbox Code Playgroud)

我看到了很多.我们正在尝试修复连接泄漏.但与此同时,我们希望为这些空闲连接设置超时,最长可达5分钟.

postgresql database-connection

79
推荐指数
5
解决办法
14万
查看次数

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

我正在 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 脚本中实现?我在这个领域还很陌生,所以如果这些问题的答案是显而易见的,我深表歉意。

django postgresql load-testing locust

6
推荐指数
0
解决办法
1597
查看次数