Anfängerfrage, und es ist wahrscheinlich ein Duplikat, tut mir leid! Aber ich kann die Antwort nicht finden, indem ich googele oder indem ich hier suche.
Meine Django / Postgres-Anwendung ist langsam. Ich weiß, wie man das protokolliert Abfragen werden auf Postgres ausgeführtAlso mache ich das.
Nun, wie identifiziere ich, welche von ihnen langsam sind ... kurz bevor ich sie alle in mich selbst eintippe und eine Stoppuhr benutze?
Kurz gesagt: Gibt es eine Möglichkeit, zu protokollieren, wie lange jede Abfrage mit Django ORM & einer Postgres-Datenbank ausgeführt hat?
Antworten:
1 für die Antwort № 1Du brauchst Django-Debug-Toolbar. Danke mir später.
Oder wenn Sie es manuell machen wollen:
import time
start = time.time()
# execute your query here
stop = time.time() - start
print stop # or log this time
1 für die Antwort № 2
protokolliere alle langsamen Abfragen
setze log_min_duration_statement = 200ms in der postgresql.conf Datei
http://www.postgresql.org/docs/9.2/static/runtime-config-logging.html
0 für die Antwort № 3
Ich habe pgFouine benutzt, um meine Postgres-Logs zu analysieren - siehe http://pgfouine.projects.pgfoundry.org/tutorial.html wie man die Protokollierung einrichtet und wie man sie mit pgFouine analysiert.