
最近数据库连接一直报警。排查了一下是有一个 django 项目占用大量的数据库连接。按照用户量不太可能,有一个问题是这个 django 项目都是用原生 SQL 查询没有用 ORM 。
from django.db import connection with connection.cursor() as cursor: cursor.execute(sql, params=params_dict) result = dictfetchall(cursor) return result 这种写法有问题吗?
1 pepesii 2022 年 7 月 1 日 讲道理,没问题;但是看了下代码,close 这儿有个 issue ,有没有可能和这个有关系呢 https://github.com/django/django/blob/0dd29209091280ccf34e07c9468746c396b7778e/django/db/backends/utils.py#L36 |
2 longmeier90 OP @pepesii 还有一个问题,我最近 django 项目用的 celery 有一个问题,有十几个队列但是起了 6 个 worker ,但是每隔一段时间又会起 6 个 worker 。不知道这是什么情况 |
3 pepesii 2022 年 7 月 6 日 怎么部署的,应该和你的进程管理工具有关哦 |
4 longmeier90 OP @pepesii supervisor+gunicon+wsgi |
5 pepesii 2022 年 7 月 8 日 估计是 supervisor 导致的吧,你看看进程树 |
6 longmeier90 OP @pepesii 应该不会是,应该我好几个 django 项目都是用 supervisor 部署的。 |
7 wobushibaoabao1 2025 年 1 月 16 日 是不是慢查询太多了 |