Django 超出 Postgres 最大连接数

2024-04-20

我在 Django 应用程序中遇到问题,该应用程序在运行时超出了与 Postgres 的最大同时连接数 (100)Gunicorn与异步eventlet工人。当达到连接限制时,应用程序开始返回500- 错误直到可以建立新的连接。

这是我的数据库配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': 'django',
        'USER': 'django',
        'HOST': 'postgres',
        'PORT': 5432,
        'CONN_MAX_AGE': 60,
    }   
}   

Gunicorn 是这样启动的:

gunicorn --bind 0.0.0.0:8080 --worker-class eventlet --workers 5 myapp.wsgi:application

这些是已安装的软件包:

  • 迪亚诺 v1.7
  • 古尼康v19.3
  • eventlet v0.17
  • psycopg2 v2.6

当与 Gunicorn 工作线程一起运行时,Django 是否无法重用跨 HTTP 请求的连接?某种第三方数据库连接池是我唯一的选择吗?

23 年 3 月 15 日更新:似乎有问题CONN_MAX_AGE和异步 Gunicorn 工作人员。连接确实是持久的,但从未在任何顺序请求中重用,如中所述这个帖子 https://serverfault.com/questions/635100/django-conn-max-age-persists-connections-but-doesnt-reuse-them-with-postgresq。环境CONN_MAX_AGE to 0请求结束时强制 Django 关闭连接,防止未使用的持久连接形成。


Django 没有数据库连接池。看看 PgBouncer。它是一个轻量级的连接池,易于设置和配置:https://wiki.postgresql.org/wiki/PgBouncer https://wiki.postgresql.org/wiki/PgBouncer

简而言之:您的 django 应用程序连接到 PgBouncer,并且它有一个与 Postgres 重用的连接池,因此永远不会超过最大连接限制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 超出 Postgres 最大连接数 的相关文章

  • PostgreSQL 不同主要版本的 pg_dump 和 pg_restore

    我的开发机器 称之为 D 运行 PostgreSQL 9 4 5 我的生产机器 称之为 P 运行 PostgreSQL 8 4 20 我不使用 PostgreSQL 9 x 中的任何新功能或类型 有时我需要在 D 上镜像 P 的状态 有时我
  • 如何处理 Django 嵌套模板标签

    如何处理模板标记 内的变量 我需要为我的函数 send mail view 提供参数 urls py urlpatterns path send mail view
  • 如何测试视图是否用“login_required”装饰(Django)

    我正在对用 login required 装饰的视图进行一些 独立的 单元测试 例子 login required def my view request return HttpResponse test 是否可以测试 my view 函数
  • 如何在 Django ORM 中更改 PostgreSQL 的默认空排序行为

    默认情况下 PostgreSQL 将 NULL 值视为最高值 因此对于降序查询 首先对它们进行排序 对于升序查询 最后对它们进行排序 您可以通过指定 NULLS LAST 或 NULLS FIRST 在每个查询或创建索引时修改此行为 如何将
  • 如何在ModelAdmin中使用InlinePanel?

    我正在设置一个需要使用多个子模型实例创建的模型 我希望能够在管理界面中编辑和创建此模型 因此我使用以下命令添加它ModelAdmin http docs wagtail io en v1 9 reference contrib modela
  • Django查询连接两个表的记录

    我正在使用 django mssql 1 6 2 包和 django 1 7 从 sql server 2008 获取一条或多条表记录 当我如下调用 get 或 filter 时 一切都很好 但我的服务器程序非常慢 考虑下表 class C
  • 如何在多个Postgresql数据库之间共享表

    我的 Web 应用程序有多个部署 每个部署都是一个具有唯一 URL 的唯一站点 每个部署都有不同的数据 UI 等 但有非常相似的 Postgresql 数据库结构 带有 PostGIS 这些数据库都位于同一数据库服务器上 我希望来自 1 个
  • 是否可以在 django 模板中检查对象是否包含在列表中

    我对 django 很陌生 大约一周了 我正在制作一个网站 用户可以在其中输入内容 然后其他用户可以投票决定他们是否喜欢这些内容 我知道这并不是那么新颖 但这是一个学习一堆工具的好项目 我有一个多对多表来存储谁喜欢或不喜欢什么 在渲染页面之
  • 在 Django 1.9 中使用信号

    在 Django 1 8 中 我能够使用信号执行以下操作 一切顺利 init py from signals import 信号 py receiver pre save sender Comment def process hashtag
  • 从经度/纬度迁移到 GeoDjango Points?

    使用 Django ORM Postgres PostGIS 和 Django 迁移 如何转换现有的longitude and latitude将字段浮动到单个 GeoDjango 点字段中 我正在寻找类似的东西Location objec
  • Cookie 未存储在浏览器中

    与 一起工作Next js and Django Rest Framework 我正在使用 JWT 对用户进行身份验证 首先 当用户成功登录页面时 会将 cookie 包含 JWT 令牌 发送到浏览器 当用户尝试访问特定页面时 此 cook
  • 一种父子关系级联软删除的方法

    我有一个简单的架构 其中使用软删除 这就是它的设计方式并且无法更改 有两个表参与该架构 Company id is deleted and Employee id company id is deleted where company id
  • Postgres 检查文本数组中的约束以确保值的有效性

    我想创建类似的东西 CHECK ALL scopes IN read write delete update scopes这是表中的一个字段text 我想确保该数组中的所有值都是上面的值之一 对此有何意见 是否有可能通过以下方式获取这些值S
  • 避免在 django allauth 的自定义用户模型中创建用户名字段

    我正在使用带有 allauth 的自定义用户模型 并且需要省略用户名字段 我已经看过文档和一大堆关于使用的 stackoverflow 答案ACCOUNT USER MODEL USERNAME FIELD None但所有这些仍然导致我的数
  • 为什么 gettext 没有数据库存储选项?

    我正在使用 Django 在基于 Web 的应用程序上进行一些 i18n 操作 该应用程序使用 gettext 作为其 i18n 基础 翻译应该存储在数据库中似乎是一个显而易见的想法 而且并不难做到 但文件系统上的 po 文件仍在使用 为什
  • 日期/时间值的 Django URL 转换器

    我正在尝试使用 Django 内置的 URL 转换器将 URL 中的日期时间字符串转换为视图中的日期对象 如果我手动输入 URL 它们会按预期工作 但尝试为其生成 URL 时找不到匹配项 我的转换器很简单 from django utils
  • 通过 Python 在 PostgreSQL 中的 unicode 字符串中是否允许空字节?

    unicode 字符串中是否允许空字节 我不问 utf8 我的意思是 unicode 字符串的高级对象表示 背景 我们通过 Python 在 PostgreSQL 中存储包含空字节的 unicode 字符串 如果我们再次读取字符串 字符串会
  • 使用 docker 卷持久化数据库

    我正在尝试将 postgres 数据保存在 docker 容器中 以便您一旦docker compose down and docker compose up d您不会丢失上一次会话的数据 我无法让它做很多事情 将容器拉下来然后再次备份会定
  • 在 Django 中使用多处理时,应用程序尚未加载,出现异常

    我正在做一个 Django 项目并尝试提高后端的计算速度 该任务类似于 CPU 限制的转换过程 这是我的环境 Python 3 6 1 姜戈 1 10 PostgreSQL 9 6 当我尝试通过 python 多处理库并行计算 API 时
  • Postgresql JDBC 驱动程序中的批量更新在自动提交中回滚

    我正在使用 postgres 9 3 1100 jdbc41 JDBC4 驱动程序进行批量插入 根据 JDBC 规范 其可达 到应用程序以禁用自动提交并提交或 回滚事务 就我而言 我没有使用任何事务 即自动提交为真 但如果批次中的其中一个插

随机推荐

  • 什么是 EF 默认 ID 命名约定 Code First?

    我正在使用 EF 代码优先方法 我开始制作映射文件 我来自 nihbernate 背景 但发现你真的不需要它们 除非你需要做一些更改 我想知道我的 ID 的命名约定将使用什么 那将会Product Id or ProductId Edit
  • 当前上下文中不存在名称“数据库”?

    当我尝试使用 WebMatrix 启动我的网站时收到此错误 我有一个可以调用的 cs 文件var db Database Open dbase 我的项目中有一个名为 dbase 的数据库 我没有 web config 文件 也没有使用 We
  • 仅保留 DataFrame 中有关某些字段的重复项

    我有这个火花数据框 ID ID2 Number Name Opening Hour Closing Hour ALT QWA 6 null 08 59 00 23 30 00 ALT AUTRE 2 null 08 58 00 23 29
  • R 中的圆形堆积条形图

    我发现了这个很棒且相对简单的包可以创建漂亮的极坐标形式的归一化堆积条形图like so http chrisladroue com wp content uploads 2012 02 polarHistogramFudged png 我希
  • SQL Azure 是否支持“FOR XML”(RAW、AUTO、PATH)

    MS SQL Server 支持使用 FOR XML RAW AUTO PATH 提取关系数据 SQL Azure 支持此功能吗 如果没有 有没有人尝试过解决方法 提前谢谢你的帮助 是的 我用FOR XML PATH and FOR XML
  • C# 中的多行字符串文字

    有没有一种简单的方法可以在 C 中创建多行字符串文字 这是我现在所拥有的 string query SELECT foo bar FROM table WHERE id 42 我知道 PHP 有 lt lt
  • 颤动中闪闪发光的动画

    我想在flutter中制作一个闪闪发光的动画 如何在颤振中做到这一点 我建议采用定制油漆方法 我的 awswer 是高度可定制的 我只更改innerOuterRadiusRatio 和速度 您可以更改颜色或不透明度 星形的边数 旋转 ang
  • 检索从扭曲图像中获取的像素的原始坐标

    我有四个角从源图像 src vertices 0 corners upperLeft src vertices 1 corners upperRight src vertices 2 corners downLeft src vertice
  • Spark VectorAssembler 错误 - PySpark 2.3 - Python

    我正在使用 pySpark 2 3 0 并创建了一个非常简单的 Spark 数据框来测试 VectorAssembler 的功能 这是较大数据框的子集 其中我只选择了一些数字 双精度数据类型 列 gt gt gt cols index ho
  • YouTube v3 CORS 不考虑返回的“Access-Control-Allow-Origin”

    我有一个客户端和一个服务器 我的工作流程如下 服务器使用 API v3 将片段上传到 youtube 并获取可恢复的 url Youtube v3 API for resumable uploads https developers goo
  • SQL Server 删除超过 10 分钟的所有行

    如何删除 SQL Server 中 10 分钟后创建的所有行 谢谢 假设您有一个存储时间戳的列名称 Date column 你可以这样尝试 其中 mi 是分钟的缩写 DELETE FROM Table name WHERE Date col
  • 如何在AngularJS控制器中调用API?

    我需要在 AngularJS 控制器中执行这些 API 调用 任何例子都会有帮助 app post user auth users auth app get user logout helpers isAuthenticated users
  • 将 pandas 数据框索引到 Elasticsearch 中,无需使用 elasticsearch-py

    我想将一堆大型 Pandas 数据帧 大约数百万行和 50 列 索引到 Elasticsearch 中 在寻找如何执行此操作的示例时 大多数人会使用elasticsearch py 的批量辅助方法 https elasticsearch p
  • Friend 访问修饰符打算用在哪里?

    我看到使用 Friend 修饰符的唯一地方是在 WinForms 设计器中 如中提到的为什么Winforms中修饰符设置为Friend https stackoverflow com questions 3707055 why is the
  • 如何在codeigniter中使用composer包?

    我已经关注了这篇文章 http philsturgeon co uk blog 2012 05 composer with codeigniter http philsturgeon co uk blog 2012 05 composer
  • 在 GoDaddy 上将 Surge CNAME 记录的主机名设置为 @

    我正在尝试使用 Surge 将我的投资组合部署到我的域 www dillonbartkus com 说明如下 我使用的是通过 Google Suite 购买的 GoDaddy 域名 在图中 它显示了主机名为的 CNAME 记录www and
  • 对 Java 操作应用超时控制

    我正在使用第三方 Java 库与 REST API 进行交互 REST API 有时可能需要很长时间才能响应 最终导致java net ConnectException被抛出 我想缩短超时时间 但无法修改第三方库 我想在 Java 方法的调
  • XMPP 服务器的 libxml2 与 expat

    我正在尝试从头开始创建一个 XMPP 库 以及后来的服务器 Go http golang org 尽管语言本身无关紧要 作为学习 XMPP 协议和服务器软件开发一般知识的一种手段 正如许多人所知 XMPP 是基于 XML 的消息传递协议 它
  • 当我的名称为字符串时如何执行 JavaScript 函数

    我有 JavaScript 中函数的名称作为字符串 如何将其转换为函数指针以便稍后调用 根据情况 我可能也需要将各种参数传递到该方法中 一些函数可能采用以下形式namespace namespace function args 不要使用ev
  • Django 超出 Postgres 最大连接数

    我在 Django 应用程序中遇到问题 该应用程序在运行时超出了与 Postgres 的最大同时连接数 100 Gunicorn与异步eventlet工人 当达到连接限制时 应用程序开始返回500 错误直到可以建立新的连接 这是我的数据库配