[Talk-de] Warum immer die ...more OSM coming soon Kacheln
Kai Krueger
kakrueger at gmail.com
Mi Aug 19 13:36:33 UTC 2009
Hallo,
da es doch immer wieder Fragen zum rendering gibt wollte ich noch mal
kurz den ganzen mapnik Prozess beschreiben um hoffentlich etwas Klarheit
zu schaffen, den die Ergebnisse sind aus Usersicht wirklich nicht immer
offensichtlich.
Wenn sich ein User eine Gegend auf der Karte anschaut und tiles vom
Server anfordert, schaut dieser (der Server), ob die tiles bereits
gerendert wurden und sie auf aktuellen Daten basieren. Wenn sie es tun,
ist alles in Ordnung und werden an den User uebertragen. Wenn einer der
tiles zwar vorhanden ist, aber alt ist, versucht der Server die tile
on-the-fly neu zu renderen vorausgesetzt er ist nicht zu beschaeftigt
(basierend auf load average). Ansonsten wird sofort die alte tile
uebertragen und ein Vermerk in einer Warteschlange gemacht das diese
tile neu gerendert werden muss. Dies geschieht dann im Hintergrund der
Reihe nach und kann bis zu 10 - 15 Minuten dauern. Fuer das on-the-fly
rendering gibt es jedoch einen 3 Sekunden timeout, nachdem wiederum die
alte tile herausgegeben wird. Ich weis zwar nicht was der Grenzwert des
load averages ist, aber ich wuerde sagen das dieser tags ueber fast
immer ueberschritten ist. Somit sind dann die tiles erst bei der zweiten
Ansicht ein paar Minuten spaeter aktuell. Wenn eine tile gar nicht
vorhanden ist, passiert im Prinzip das gleiche nur das der load average
Grenzwert etwas hoeher ist, da es nicht die Möglichkeit gibt auf eine
alte tile zurueck zu fallen. Aber auch dieser ist zu Stosszeiten
vermutlich haeufig ueberschritten, woraufhin man dann die "more OSM
coming soon..." tiles bekommt.
Das updaten der rendering Datenbank, (sie ist separat von der haupt OSM
Datenbank), geschieht per "minutely-diff". Somit sind diese Daten ca. 5
- 10 Minuten hinter dem Stand der haupt Datenbank. Beim updaten der
Datenbank wird gleichzeitig all die tiles die betroffen sind als "dirty"
markiert, also als alt. Damit werden sie das naechste mal wenn sie
betrachtet werden, wie oben beschrieben, neu gerendert, jedoch nicht
vorher. Ausserdem werden nur die zoom stufen 10 und hoeher als dirty
markiert. Low zoom tiles werden nicht automatisch durch die minutely
tiles upgedatet und koennen somit ein paar Wochen alt sein.
Mit den minutely diffs gibt es leider jedoch Probleme und es werden
immer mal wieder Daten verschluckt die in sehr grossen changesets
hochgeladen wurden. Ausserdem habe ich gehoert das es moeglicherweise
Probleme mit Multi-Polygonen und den imports der minutely-difs gibt. Des
weiteren veraendert sich auch gelegentlich das rendering style sheet
welches dann das neu rendern aller tiles benoetigt. Insofern werden in
unregelmaessigen Intervallen (alle paar Wochen) die gesamte rendering
Datenbank neu importiert. Dies dauert jedoch inzwischen fast 24 Stunden
und bis die Datenbank neu geladen ist koennen in der Zwischenzeit
keinerlei tiles neu gerendert werden auch fehlende tiles nicht.
Des weiteren, nach einem gesamt Import sind automatisch alle tiles als
dirty markiert (inklusive der low zoom tiles), somit muessen sie auch
alle ploetzlich neu gerendert werden. Da das nicht auf einen Schlag
passieren kann, ist in der Zeit nach einem Import der rendering Server
vollkommen ueberlastet. Da auch die Warteschlangen eine sehr begrenzte
Länge von 1000 (meta)tiles haben, werde in der Zeit auch viele tiles die
eigentlich neu gerendert werden sollten auch im Hintergrund nicht neu
gerendert und sie muessen ein weiteres mal besucht werden bevor sie
moeglicherweise gerendert werden. Bis sich das ganze wieder
einigermassen stabilisiert hat vergehen schon ein paar Tage, sodass nach
dem Import fast eine ganze Woche vergeht bis sich das ganze wieder
vollkommen eingependelt hat. In der Zeit ist es dann nicht voraussagbar
was neu gerendert wird und wann das geschieht.
Wer mehr Informationen erhalten moechte wie es um die Performance des
tile servers steht kann unter
http://munin.openstreetmap.org/openstreetmap/tile.openstreetmap.html
nach schauen. Dort kann man auch sehen wie viele tiles gerade gerendert
werden und welcher Prozentsatz davon on-the-fly gerendert werden, bzw.
ob die Queues voll sind.
Insgesamt fuert dieses Komplexe System also zu einigen sichtbaren
Artefakten in den Karten. In sich schnell aendernden Gegenden, kann es
immer wieder dazu kommen das benachbarte tiles unterschiedlichen Alters
sind und somit neue Wege ploetzlich an Tilegrenzen aufhoeren, versetzt
oder sonst wie inkonsistent sind. Meist sind diese Probleme dann behoben
wenn man in einer halben Stunde noch mal nachschaut, da dann der
Hintergrund Prozess die tiles neu gerendert hat. Machmal kann es aber
eben auch schon mal tage dauern bis alles wieder fluessig laueft und
uptodate ist. Hinzu kommt dann noch das aus Performance Gruenden (sowohl
Server als auch client seitig) die tiles zum Teil in Proxy servern und
im browser cache zwischen gespeichert werden. Aber das beschreibe ich
jetzt nicht mehr, da sonst die email noch laenger und unuebersichtlicher
wird.
Ich hoffe das bringt etwas mehr Klarheit in den Prozess wie die mapnik
Karten auf OSM gerendert werden und die gelegentlichen Artefakte sind
wohl ein Preis den wir fuer die normalerweise sehr hohe Aktualitaet
zahlen muessen.
Schoene Gruesse,
Kai
P.S. Das urspruengliche Probleme des Threads das einer der tileserver
im browser geblockt ist und somit ca. ein drittel aller tiles mit "more
OSM coming soon" angezeigt werden haben zwar mit meiner Beschreibung des
Rendering Prozesses nichts zu tun, dennoch dachte ich das es
einigermassen in diesen Thread passt und nuetzlich sein kann.
On 22/07/28164 20:59, Adiac wrote:
> Am Sonntag 16 August 2009 09:32:29 schrieb Jens von Elling:
>> In letzter Zeit gibt?s immer wieder diese häßlichen "more OSM coming
>> soon" Kacheln.
> Das kann ich bei der höchsten Zoomstufe bestätigen. Dann wollte ich mir diese
> eine Kachel anschauen, die dann auch nicht da war. Beim klick auf den
> Zurück-Button war ich leider wieder ganz woanders. Dann war aber auch
> die "OSM com..." Kachel weg und alles war okay.
> Im Browser (Firefox) habe ich in den Einstellungen nichts dazu gefunden.
> Auch seltsam finde ich dieses ominöse Ende des Weges, der da eigentlich gar
> nicht aufhört - beim rauszoomen erkennbar:
> http://www.openstreetmap.org/?latP.98606&lon=6.176&zoom
>
> MfG
>
>
Mehr Informationen über die Mailingliste Talk-de