[Python-de] Sporadisch 10fach langsamer

markus espenhain me at mocisoft.de
Mi Aug 10 23:05:08 CEST 2011


On 08/10/11 22:18, Thomas Guettler wrote:
> Hallo,
>
> gegeben ist eine Intranet Anwendung (Django+Postgres), die
> auf einen gut ausgebauten Server läuft.
>
> Sporadisch dauern die Requests zehnmal so lange. Ich konnte
> die Ursache aber noch nicht finden.
>
> Es hat sicher **nichts** mit dem Netzwerk zu tun. Die Zeitmessung
> beginnt nach dem Empfang des Requests und endet vor dem Senden
> des Response.
>
> Die Datenbank wird per Unix-Domain Socket angesprochen.
>
> Parallel laufen auch keine Prozesse, die Last (CPU, Memory, IO) erzeugen
> könnten. Der Server langweilt sich nur: 8 Cores, 8 GB RAM.
>
> Dummerweise lässt sich das nicht reproduzieren, tritt aber täglich auf.
>
> Habt Ihre Ideen wie man den Fehler finden könnte?
>
> Meine Idee: Alle N Millisekunden merkt sich der Request-Handler
> in welcher Methode er sich gerade befindet. Am Ende des Requests
> wird das ausgegeben, falls der Request deutlich länger als sonst
> gedauert hat. So könnte man die Stelle im Quelltext finden, die
> deutlich länger dauert als sonst.
> Dieses Logging sollte den Ablauf nicht deutlich verlangsamen
> (Produktivsystem)
>
> Wie könnte man das machen? Um Threads habe ich bisher immer einen
> weiten Bogen gemacht.
>
> Gruß,
> Thomas
>

Hi,

bevor du deine Python-App zerlegst - hast du dir mal die PG-Datenbank 
angesehen? - Query-Log, Config, etc - manche Postgres Default-Configs 
sind je nach Anwendung oft ... suboptimal.

Markus


Mehr Informationen über die Mailingliste python-de