DBの接続数がとても多くなってしまう。

783 views
Skip to first unread message

白井一真

unread,
Mar 1, 2020, 9:34:16 PM3/1/20
to django-ja
Django(2.1.5)とPostgre(9.6 Azure)を利用しているのですが、
Postgre側のActive Connections数がとても多くなってしまい困っております。(60~80程度に張り付いています。)
DjangoでModelを利用して接続しているのが原因でないかと思っていますが、解決方法が分かりません。(DBとのconnectionを明示的に切る必要がある?)
お知恵をお借りしたいです。
settings内のDBの設定情報は以下となっております。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '',
'USER': '(admin)',
'PASSWORD': '(admin)',
'HOST': 'sample.postgres.database.azure.com',
'PORT': '5432',
'CONN_MAX_AGE':0,
}
}

tokibito

unread,
Mar 2, 2020, 9:48:07 AM3/2/20
to django-ja
アプリケーションサーバーのスレッド数やプロセス数はどうなっていますか?
Djangoが標準で提供するデータベースバックエンドは、1スレッドあたり1コネクションになります。
また、コネクションプールも無いです。コネクションプールを利用する場合は、PgBouncerを挟むなどの検討が必要かもしれません。
Web検索したところ、DjangoとPostgreSQLのコネクションについて記事を書いてる方がいたので、参考になるかもしれません。


2020年3月2日月曜日 11時34分16秒 UTC+9 白井一真:
Reply all
Reply to author
Forward
0 new messages