在默认的情况下settings.py
中的DATABSES
部分是没有连接池的,这样就会造成操作一次数据库,就会打开和关闭一次链接,会增加操作时间,同时也会增加网络IO的压力。
我们可以通过配置连接池的方式来提高性能,代码如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'name',
'USER': 'user',
'PASSWORD': 'password',
'HOST': 'host,
'PORT': '3306',
'CONN_MAX_AGE': 300,
'POOL_SIZE': 20
}
}
在这段配置中,有两行很关键的配置:
'CONN_MAX_AGE': 300,
'POOL_SIZE': 20
字段名 | 描述 |
---|---|
CONN_MAX_AGE | 链接的最大闲置时间,单位是秒 |
POOL_SIZE | 连接的数量,也就是保持多少个连接,这个值需要根据数据库的承受能力和应用所需要的连接数来计算得出,一般设置为10-20也就差不多了。 |