热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

优化Django应用中的MySQL连接池配置方法

django设置mysql连接池导库pipinstalldjango-db-connection-poolsettings.py设置将ENGINEdjango.db.back

django设置mysql连接池


导库

pip install django-db-connection-pool

settings.py设置

将 ENGINE django.db.backends.mysql 更改为 dj_db_conn_pool.backends.mysql:


DATABASES = {"default": {"ENGINE": "dj_db_conn_pool.backends.mysql","NAME": "数据库名","USER": "用户名","PASSWORD": "密码","HOST": "127.0.0.1","PORT": "3306", "CHARSET": "utf8", "POOL_OPTIONS" : {"POOL_SIZE": 10,"MAX_OVERFLOW": 10,"RECYCLE": 24 * 60 * 60}}
}

POOL_SIZE(连接池容量)、MAX_OVERFLOW(连接池容量向上浮动最大值) 这两个参数包含在 POOL_OPTIONS 内,例如下面的配置,default 的连接池常规容量为10个连接,最大浮动10个, 即为:在 default 连接池创建后,随着程序对连接池的请求,连接池内连接将逐步增加到10个,如果在连接池内连接 全部用光后,程序又请求了第11个连接,此时的连接池容量将短暂超过 POOL_SIZE,但最大不超过 POOL_SIZE + MAX_OVERFLOW, 如果程序请求 default 数据库的连接数量超过 POOL_SIZE + MAX_OVERFLOW,那么连接池将一直等待直到程序释放连接, 请注意线程池对数据库连接池的使用,如果线程池大于连接池,且线程无主动释放连接的动作,可能会造成其他线程一直阻塞。
RECYCLE:连接超时时间,如果设置为 -1 以外的值,则表示连接回收之间的秒数,这意味着在结帐时,如果超过此超时,则连接将关闭并替换为新打开的连接。默认为 -1。


后记

【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。

也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!

公众号

公众号

关注我,我们一起成长~~


推荐阅读
author-avatar
总裁班的草根
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有