我在开发中使用Django 1.9.2 (DEBUG=True
) 并且使用MySQL 5.6.23。下面是我的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname',
'USER': "django",
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
'CONN_MAX_AGE': 60,
}
}
我正在使用以下命令查询MySQL以获取活动连接数:
show status where `variable_name` = 'Threads_connected';
它会产生如下结果。
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_connected | 10 |
+-------------------+-------+
1 row in set (0,00 sec)
每次向Django发出新的请求时,连接的线程数都会增加,直到当连接数达到
Threads_connected=151
时,我会得到(1040,'Too many connections')
错误。此外,60秒后连接仍未关闭。
这种行为在生产环境中似乎不会发生(DEBUG=False
)。