/ / Django + postgresql: Protokollieren, wie lange eine Abfrage zur Ausführung benötigt hat? - Django, PostgreSQL

Django + postgresql: Protokollieren, wie lange eine Abfrage zur Ausführung benötigt hat? - Django, PostgreSQL

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 № 1

Du 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.