使用gevent为django添加mysql连接池

django-mysql-geventpool-27的Python项目详细描述


https://circleci.com/gh/laurentL/django-mysql-geventpool/tree/master.svg?style=svg

使用gevent的django<;2.0的mysql连接池后端仅支持python 2.7 它通过gevent与gunicorn异步工作者一起工作。 它实现了一个loadbalking简单算法。

叉子来自:https://github.com/shunsukeaihara/django-mysql-geventpool

此实现基于django db geventpool(https://github.com/jneight/django-db-geventpool)。

安装

pip install django-mysql-geventpool-27

设置

将“django_mysql_geventpool_27”模块添加到已安装的应用程序中,如下所示:

INSTALLED_APPS=('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','django_mysql_geventpool-27',# ...other installed applications...

将Max的CONS添加到选项中,以允许数据库允许的最大连接数(默认值为4)

DATABASES={'default':{'ENGINE':'django_mysql_geventpool_27.backends.mysql','NAME':'dbname','USER':'dbuser','PASSWORD':'dbpassword','HOST':'dbhost','PORT':'dbport','OPTIONS':{'MAX_CONNS':20}}}

负载平衡galera multi-master

对于每个连接,对数据库设置的主机键进行随机选择。 为了便于puppet/salt/ansible等orchetter进行设置,可以使用这种设置:

注意

所有服务器必须在同一个TCP端口上侦听。

DATABASES={'default':{'ENGINE':'django_mysql_geventpool_27.backends.mysql','NAME':'dbname','USER':'dbuser','PASSWORD':'dbpassword','HOST':'server1,server2,serve3','PORT':'dbport','OPTIONS':{'MAX_CONNS':20}}}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
swing Java按钮/网格布局   java列出Google日历中的所有事件   java无效:单击API publisher test按钮后连接到后端时出错   带有内部赋值的java While循环导致checkstyle错误   java为什么trimToSize/ensureCapacity方法提供“公共”级访问?   文件输出流的java问题   ListIterator和并发修改异常的java问题   java如何使用两个URL映射   无法识别使用“./../”构造的字符串java相对路径,为什么?   首次写入remotelyclosedsocket不会触发异常,对吗?JAVA   java OneDrive REST API为文件上载提供了400个无效谓词   Java泛型、集合接口和对象类的问题   OpenSSL Java安全提供程序   jmeter java运行jmx禁用操作