[OSM-Devserver] Hängende Jobs von tirex/mapnik
Nop
ekkehart at gmx.de
Do Aug 12 14:30:42 CEST 2010
Hallo!
Am 03.08.2010 08:21, schrieb Jochen Topf:
> Der tirex-backend-manager erkennt, wenn sich der rendering-Prozess nicht
> regelmäßig meldet, schießt ihn ab und startet einen neuen. Das löst aber
> natürlich das eigentiche Problem nicht.
>
> Das sollte aber nur passieren, wenn der mapnik im rendering ist, niemals bei
> "idle". Wenn das beim "initializing" passiert, dann stimmt wohl was mit dem
> map file nicht, "initializing" heißt, dass er das map file einliest.
>
> Du kannst den Timeout kürzer einstellen, aber manchmal braucht es halt auch
> sehr lange, ein Tile zu berechnen und das sollte natürlich nicht abgebrochen
> werden.
Ich habe nach wie vor das Problem, daß Jobs hängen bleiben. Und zwar ca.
1% der Anfragen. Normalerweise werden Anfragen in ca. 500ms gerendert.
Die Problemjobs lasten einen Prozessor zu 100% aus und stehen zu
gleichen teilen auf "mapnik:idle", "mapnik: initializing" und "mapnik:
rendering...".
Ich habe jetzt mal den Timeout auf 2 Minuten eingestellt, so daß die
hängenden Jobs relativ flott abserviert werden. Das klappt, aber einer
echten Lösung des Problems bin ich noch nicht näher gekommen.
Das Stylesheet ist definitiv ok, es klappt sowohl mit Python als auch in
99% der Fälle mit tirex.
Im daemon.log ist protokolliert, wie tirex immer wieder die mapniks
killt und neustartet. Im job-log stehen die meisten Jobs mit success=1.
Es gibt ein paar Einträge mit "render_time=0 success=". Was bedeutet
das? Könnten das die Timeouts sein?
Gibt es eine Möglichkeit, näher herauszufinden, was die hängenden
Prozesse mit "idle" und "initializing" treiben?
bye
Nop