Django的:池的MySQL数据库连接

问题描述 投票:1回答:2

我有一个Django应用程序有一个非常标准的服务器堆栈

  • DB后端:MySQL的
  • WSGI服务器:Gunicorn
  • 异步工人类:GEVENT

我想Django的汇集MySQL连接,而不是建立在每次请求的连接。

1.6开始,Django的不断推出persistent connectionsissues与异步工人。

因此,无论是不同的MySQL后端需要或应用级别连接池。我读过其中几个。其中有些是很老的文章。以下是一些:

Django的MySQL的后端

  1. django-mysqlpool

应用程序级连接池

  1. with SQL Alchemy
  2. another with SQL Alchemy

一些补丁也可

  1. Django Patch

其他一些方法

  1. MySQL DB Connector

我真的很困惑,这其中的方法是集中连接的最佳方式?任何帮助,高度赞赏。

mysql django django-rest-framework connection-pooling
2个回答
0
投票

该项目还适用于Django的1.9,以及行之有效的我们。

https://github.com/djangonauts/djorm-ext-pool


0
投票

您的需求

要集中MySQL连接,而不是建立在每次请求的连接。

我的建议

  1. 在分贝水平

这表明你的应用程序是IO密集型的,所以建议是使用mysql康恩池。 可ü可以使用MySQL的thirdpart池

  1. 在应用层面

在应用水平上没有使用连接池。但大多数情况下使用缓存,可能是Redis的缓存等,这样可以减去连接数。

  1. 在Web服务器级别

在您的服务器所谓WSGI服务器。这是ligntweight所以不集中实现,ü可以refact使用队列,以提高重复使用的连接。或碱GEVENT到refact event_queue。

但愿这能给你一些帮助。

© www.soinside.com 2019 - 2024. All rights reserved.