我最近为连接池设置了pgbouncer。我的pgbouncer.ini文件包含
[databases]
mydb = host=localhost port=5432 user=user dbname=mydb
[pgbouncer]
auth_type = any
auth_file = /etc/pgbouncer/users.txt
listen_addr = 127.0.0.1
listen_port = 6432
pool_mode = session
server_reset_query = DISCARD ALL
; total number of clients that can connect
max_client_conn = 100
default_pool_size = 20
我使用Django使用以下配置命中pgbouncer
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
'USER': 'user',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '6432',
},
}
当我运行应用程序时,一切似乎都运行良好。但是在pgbouncer日志记录中,我得到了以下日志,这些日志经常重复发生。
2017-08-08 14:36:25.626 1215 WARNING tune_socket(11) failed: Invalid argument
2017-08-08 14:36:25.626 1215 LOG C-0x7ff2d081b590: (nodb)/(nouser)@unix:6432 closing because: client unexpected eof (age=0)
我不知道这是指什么。这可能是阴险的吗?我在配置中弄乱了什么吗?
答案 0 :(得分:0)
Django会在每次请求后关闭与db的连接,这似乎就是这种情况。您可以尝试将CONN_MAX_AGE = 60添加到您的设置中,然后重试吗?