加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

django 模型层(数据库)连接的处理逻辑

发布时间:2020-12-15 17:13:54 所属栏目:大数据 来源:网络整理
导读:django 模型层(数据库)连接的处理逻辑: 使用CONN_MAX_AGE配置限制DB连接寿命 CONN_MAX_AGE的默认值是0 每个DB连接的寿命保持到该次请求结束 默认数据库连接的处理弊端 每个请求豆浆重复连接数据库 处理高并发请求给服务带来非常大压力 无法承载高并发服务

django 模型层(数据库)连接的处理逻辑:

  • 使用CONN_MAX_AGE配置限制DB连接寿命

  • CONN_MAX_AGE的默认值是0

  • 每个DB连接的寿命保持到该次请求结束

默认数据库连接的处理弊端

  • 每个请求豆浆重复连接数据库

  • 处理高并发请求给服务带来非常大压力

  • 无法承载高并发服务

如何避免django过度优化

  • 存储数据库连接位置:线程局部变量(当django部署时,每一个处理的线程都拥有一个数据库的连接,因为这个连接是保存到线程局部局部变量中,不受其他线程的影响)

  • mysql数据库支持的最大连接数,(如果部署线程数超过数据库最大连接数,会导致其他服务连接mysql错误,导致无法连接数据库)

如何查看mysql最大连接数:

使用navicat,找到对应的数据库,右键,找到命令列界面,输入命令:

mysql>?	show?variables?like?'%max_connections%';
+-----------------+-------+
|?Variable_name???|?Value?|
+-----------------+-------+
|?max_connections?|?151???|
+-----------------+-------+
1?row?in?set

mysql>

可以知道mysql数据库最大????连接数是151。

修改mysql最大连接数:

mysql>??set?global?max_connections?=1000;

Query?OK,?0?rows?affected

mysql>?	show?variables?like?'%max_connections%';
+-----------------+-------+
|?Variable_name???|?Value?|
+-----------------+-------+
|?max_connections?|?1000??|
+-----------------+-------+
1?row?in?set

mysql>


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读