问题描述
项目使用uwsgi作为web server,后端是django做为app server
因为在项目中使用了django mysql 的 CONN_MAX_AGE 设置,这个设置的文档描述是 django会把mysql的连接放入线程的local变量中,但是我在使用中并没有发现这个设置起到任何作用,mysql的连接依然是每次请求一个mysql连接
所以我认为uwsgi对于每一次请求都会启动一个新的线程去执行,执行完就无用了,我在uwsgi的文档中没有找到有关于线程如何使用的描述,想咨询一下大家
如果uwsgi真的是一个请求一个新的线程,无法做到线程的复用,那么关于django mysql 连接池的使用还有别的办法可以解决么
我自己测试了,uwsgi + django的组合, uwsgi对于请求是会复用线程的,使用下thread local可以测试出来
至于mysql CONN_MAX_AGE的问题,是我的一个事务,该设置是可以起作用的