Warm tip: This article is reproduced from serverfault.com, please click

postgresql-Django的

(postgresql - Django)

发布于 2020-10-18 08:59:39

我正在将Django用于大型应用程序。监视数据库(Postgres)时,有时会看到写入了一些慢速查询日志。

问题是如何跟踪生成这些查询的代码。最佳情况下,我希望对这些日志进行一些堆栈跟踪,但是想知道是否还有其他最佳实践或其他工具。

它在生产中,因此DEBUG设置为False,因此Django本身不会跟踪查询的速度。

PS-我在某处看到有人建议向SQL查询本身添加SQL注释。不幸的是,这似乎在Django中并不普遍可用,而且还需要我更新生成查询的每个代码。

Questioner
user972014
Viewed
11
JPG 2020-11-28 12:19:46

有很多工具可以检查监视在Django应用程序中执行的SQL查询。

  1. Django调试工具栏

    Django Debug Toolbar是一组可配置的面板,显示有关当前请求/响应的各种调试信息,单击该工具时,将显示有关面板内容的更多详细信息。

  2. Django丝绸

    Django Silk是Django框架的实时分析和检查工具。Silk会先拦截并存储HTTP请求和数据库查询,然后再将它们显示在用户界面中以进行进一步检查

  3. 弹性APM

    借助Elastic APM,可以监视,检测和诊断复杂的应用程序性能问题,以维持预期的服务水平。

    这更像是生产设置,你可以借助开箱即用的功能轻松地可视化矩阵。他们确实有针对DjangoAPM设置部分