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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。