初学者的问题,它可能是重复的,对不起!但我无法通过谷歌搜索或在此处搜索找到答案。
我的 Django/postgres 应用程序很慢。我知道如何记录在 postgres 上执行的查询,所以我正在这样做。
现在,我如何识别它们中的哪些是慢的......除了自己输入它们并使用秒表吗?
简而言之:有没有一种方法可以使用 Django ORM 和 postgres 数据库记录每个查询的执行时间?
初学者的问题,它可能是重复的,对不起!但我无法通过谷歌搜索或在此处搜索找到答案。
我的 Django/postgres 应用程序很慢。我知道如何记录在 postgres 上执行的查询,所以我正在这样做。
现在,我如何识别它们中的哪些是慢的......除了自己输入它们并使用秒表吗?
简而言之:有没有一种方法可以使用 Django ORM 和 postgres 数据库记录每个查询的执行时间?
你需要django-debug-toolbar。稍后谢谢我。
或者,如果您想手动执行此操作:
import time
start = time.time()
# execute your query here
stop = time.time() - start
print stop # or log this time
记录所有慢查询
在 postgresql.conf 文件中设置 log_min_duration_statement = 200ms
http://www.postgresql.org/docs/9.2/static/runtime-config-logging.html
我使用 pgFouine 来分析我的 postgres 日志 - 请参阅http://pgfouine.projects.pgfoundry.org/tutorial.html了解如何设置日志记录以及如何使用 pgFouine 分析它们。