<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Overpass &#8211; Wochennotiz</title>
	<atom:link href="/blog/tag/overpass/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Thu, 04 Sep 2014 18:07:39 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.3</generator>
	<item>
		<title>Wochenaufgabe Umweltzonen KW 35/36 25.08.–7.09.2014</title>
		<link>/blog/2014/08/wochenaufgabe-umweltzonen-kw-3536-25-08-7-09-2014/</link>
					<comments>/blog/2014/08/wochenaufgabe-umweltzonen-kw-3536-25-08-7-09-2014/#comments</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Mon, 25 Aug 2014 08:00:00 +0000</pubDate>
				<category><![CDATA[Wochenaufgabe]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Autos]]></category>
		<category><![CDATA[deutschland]]></category>
		<category><![CDATA[Emission]]></category>
		<category><![CDATA[Feinstaub]]></category>
		<category><![CDATA[georeferenzieren]]></category>
		<category><![CDATA[Luftqualität]]></category>
		<category><![CDATA[Open Data]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[openstreetmap]]></category>
		<category><![CDATA[Overpass]]></category>
		<category><![CDATA[Umweltzone]]></category>
		<guid isPermaLink="false">/?p=9083</guid>

					<description><![CDATA[Von Tobias stammt die Wochenaufgabe, die sich zum Ziel gesetzt hat, mehr Umweltzonen in OpenStreetMap zu erfassen. Seit 2008 existieren in Deutschland Umweltzonen. Diese wurden den europäischen Richtlinien folgend, eingerichtet, um die Grenzwerte für die Luftqualität einzuhalten. Zwischenzeitlich gibt es &#8230; <a href="/blog/2014/08/wochenaufgabe-umweltzonen-kw-3536-25-08-7-09-2014/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<div id="attachment_9182" style="width: 310px" class="wp-caption aligncenter"><a href="/wp-uploads//2014/08/Umweltzone-Zeichen.png"><img aria-describedby="caption-attachment-9182" class="size-medium wp-image-9182" alt="Umweltzone-Zeichen" src="/wp-uploads//2014/08/Umweltzone-Zeichen-300x300.png" width="300" height="300" srcset="/wp-uploads/2014/08/Umweltzone-Zeichen-300x300.png 300w, /wp-uploads/2014/08/Umweltzone-Zeichen-150x150.png 150w, /wp-uploads/2014/08/Umweltzone-Zeichen-32x32.png 32w, /wp-uploads/2014/08/Umweltzone-Zeichen-64x64.png 64w, /wp-uploads/2014/08/Umweltzone-Zeichen-96x96.png 96w, /wp-uploads/2014/08/Umweltzone-Zeichen-128x128.png 128w, /wp-uploads/2014/08/Umweltzone-Zeichen.png 586w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-9182" class="wp-caption-text">Umweltzone-Zeichen (Quelle: Wikipedia, gemeinfrei)</p></div>
<p>Von <a title="OpenStreetMap-Profil von Tobias" href="https://www.openstreetmap.org/user/tbsprs">Tobias</a> stammt die Wochenaufgabe, die sich zum Ziel gesetzt hat, mehr Umweltzonen in OpenStreetMap zu erfassen.</p>
<p>Seit 2008 existieren in Deutschland Umweltzonen. Diese wurden den europäischen Richtlinien folgend, eingerichtet, um die Grenzwerte für die Luftqualität einzuhalten. Zwischenzeitlich gibt es deutschlandweit in 48 Städten und Regionen Umweltzonen. Als Information für den Bürger veröffentlichen die Städte auf ihren Webseiten größtenteils Bilder, <abbr title="GeoInformationsSystem">GIS</abbr>-Anwendungen und in PDF verpackte Karten, auf denen der Verlauf der jeweiligen Umweltzone eingezeichnet ist. Oft sind diese digitalen Informationen schlecht nutzbar, weil der genaue Verlauf mangels hochauflösender Karte nicht erkennbar ist. Ein praktisches Problem ist zudem, dass sich diese Dateiformate auf einem Smartphone schlecht konsumieren lassen. Generell herrscht bei diesem Thema ein großer Mangel an offenen, maschinenlesbaren Daten.</p>
<p>Aus dieser Situation heraus entstand die Idee für die <a title="&quot;Umweltzone&quot; Android App" href="https://bitbucket.org/tbsprs/umweltzone">Android-Anwendung &#8222;Umweltzone&#8220;</a>, die es seit Ende 2013 kostenfrei im <a title="&quot;Umweltzone&quot; Android App im PlayStore" href="https://play.google.com/store/apps/details?id=de.avpptr.umweltzone">Google PlayStore</a> gibt. Die wenigsten Städte veröffentlichen die Geokoordinaten zum Verlauf der Umweltzone digital. Einige Städte verlangen Geld für die Bereitstellung dieser Informationen. Diese Einstellung verwundert, da der Verlauf der Umweltzone eigentlich jedem Bürger zugänglich sein müsste, was durch die offiziellen Veröffentlichungen oft nicht gegeben ist. Daher stützt sich die Anwendung maßgeblich auf in OpenStreetMap eingetragene Umweltzonen.</p>
<p>Im OpenStreetMap-Wiki findet sich eine <a title="Liste der deutschen Umweltzonen im OSM-Wiki" href="http://wiki.openstreetmap.org/wiki/Low_emission_zone#Germany">Liste der deutschen Umweltzonen</a>. Einen guten Gegenvergleich findet man auf der <a title="Liste der deutschen Umweltzonen vom Bundesumweltamt" href="http://gis.uba.de/website/umweltzonen/umweltzonen.php">Seite des Bundesumweltamts</a> und auf <a title="Umweltzonen in Deutschland auf umwelt-plakette.de" href="http://www.umwelt-plakette.de/deutsche%20umweltzonen.php">umwelt-plakette.de</a>.</p>
<p>Der überwiegende Teil der in OpenStreetMap hinzugefügten Umweltzonen wurde als Umkreis eingezeichnet &#8211; einige wenige Städte haben die im Bereich befindlichen Straßen entsprechend gekennzeichnet. Ich hoffe dabei in der <a title="Diskussion zum Thema Umweltzonen" href="https://wiki.openstreetmap.org/wiki/Talk:Low_emission_zone">Diskussion</a> auf einen Konsens für das erste Modell, da diese Variante auch in der mobilen Anwendung genutzt wird. Es gibt zwar eine Diskussion um die richtigen Tags, am verbreitetsten ist aber <em>type=<abbr title="Low Emission Zone">LEZ</abbr></em>.</p>
<p>Über <a title="Overpass-Turbo Abfrage zu Umweltzonen" href="http://overpass-turbo.eu/s/4F3">Overpass-Turbo</a> kann man sich einen guten Eindruck über die bisher erfassten Umweltzonen machen. Im <a title="Wochenaufgabe Umweltzonen im Forum" href="http://forum.openstreetmap.org/viewtopic.php?id=26790">OpenStreetMap Forum</a> kann über die Wochenaufgabe diskutiert werden. Ansonsten werde ich so oft wie möglich im IRC-Channel <strong>#osm-de</strong> auf <a title="IRC-Server" href="irc://irc.oftc.net">irc://irc.oftc.net </a>online sein.</p>
<p>Falls ihr auf Twitter über diese Wochenaufgabe berichtet, würde ich mich freuen, wenn ihr den Hashtag <a title="Twitter-Suche zur Wochenaufgabe" href="https://twitter.com/search?f=realtime&amp;q=osmwa3536&amp;src=typd">#osmwa3536</a> verwendet.</p>
<p><a class="twitter-timeline" href="https://twitter.com/hashtag/osmwa3536" data-widget-id="505094082981404672">#osmwa3536 Tweets</a><br />
 	 	<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></p>
<p>Hier nochmal die wichtigsten Links:</p>
<ul>
<li><a title="Liste der deutschen Umweltzonen im OSM-Wiki" href="http://wiki.openstreetmap.org/wiki/Low_emission_zone#Germany">Umweltzonen-Wiki-Seite</a></li>
<li><a title="Diskussion zum Thema Umweltzonen" href="http://forum.openstreetmap.org/viewtopic.php?id=26790">Thread im Forum zu dieser Wochenaufgabe</a></li>
<li><a title="Overpass-Turbo Abfrage zu Umweltzonen" href="http://overpass-turbo.eu/s/4F3">Abfrage für Overpass-Turbo</a></li>
<li><a title="Liste der deutschen Umweltzonen vom Bundesumweltamt" href="http://gis.uba.de/website/umweltzonen/umweltzonen.php">Seite des Bundesumweltamts</a></li>
<li><a title="Umweltzonen in Deutschland auf umwelt-plakette.de" href="http://www.umwelt-plakette.de/deutsche%20umweltzonen.php">Umweltzonen auf umwelt-plakette.de</a></li>
<li>IRC-Channel #osm-de auf <a title="IRC-Server" href="irc://irc.oftc.net">irc://irc.oftc.net </a></li>
</ul>
<p>Wie Tobias, könnt auch ihr uns Vorschläge für die Wochenaufgabe zusenden. Wir haben derzeit noch ein paar Ideen auf Halde liegen. Euer Vorschlag wird für uns attraktiver, wenn ihr – wie Tobias – einen fertigen Text samt Overpass-Abfrage beilegt.</p>
]]></content:encoded>
					
					<wfw:commentRss>/blog/2014/08/wochenaufgabe-umweltzonen-kw-3536-25-08-7-09-2014/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Overpass API wächst um eine Größenordnung</title>
		<link>/blog/2012/06/overpass-api-wachst-um-eine-grosenordnung/</link>
					<comments>/blog/2012/06/overpass-api-wachst-um-eine-grosenordnung/#comments</comments>
		
		<dc:creator><![CDATA[Roland]]></dc:creator>
		<pubDate>Mon, 25 Jun 2012 10:45:36 +0000</pubDate>
				<category><![CDATA[Gastblog]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Overpass]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">/?p=4539</guid>

					<description><![CDATA[In der ersten Juni-Hälfte hat die Overpass API nicht so zuverlässig wie gewohnt gearbeitet. Mittlerweile konnte die Overpass API wieder zum Normalbetrieb zurückkehren. Wenn ich selbst anderswo solche Ausfälle erlebe, möchte ich eine Erklärung haben. Daher im Folgenden ein paar &#8230; <a href="/blog/2012/06/overpass-api-wachst-um-eine-grosenordnung/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><a href="/wp-uploads//2012/06/overpass_api_logo.png"><img loading="lazy" class="aligncenter size-full wp-image-4581" title="overpass_api_logo" src="/wp-uploads//2012/06/overpass_api_logo.png" alt="" width="700" height="280" srcset="/wp-uploads/2012/06/overpass_api_logo.png 700w, /wp-uploads/2012/06/overpass_api_logo-300x120.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>In der ersten Juni-Hälfte hat die <a href="http://overpass-api.de/" target="_blank">Overpass API</a> nicht so zuverlässig wie gewohnt gearbeitet. Mittlerweile konnte die Overpass API wieder zum Normalbetrieb zurückkehren. Wenn ich selbst anderswo solche Ausfälle erlebe, möchte ich eine Erklärung haben. Daher im Folgenden ein paar Details zu der Ausfallzeit:</p>
<p><strong>Was ist passiert?</strong></p>
<p>Am letzten Dienstag, 6. Juni, ist die Anzahl der Anfragen von ca. 50.000 &#8211; 80.000 pro Tag auf fast 1.000.000 pro Tag angestiegen. Erfreulicherweise hat sich auch die Anzahl unterscheidbarer IP-Adressen von 300 pro Tag auf etwa 6000 erhöht. Allerdings ist der Server mit dieser drastisch angestiegenen Last überfordert &#8211; ein <a title="Slashdot-Effekt" href="http://de.wikipedia.org/wiki/Slashdot-Effekt" target="_blank">Slashdot-Effekt</a>. Fast alle Abfragen wurden mit einer HTML-Seite, dass der Server überlastet ist, beantwortet.</p>
<p>Die neu auflaufenden Abfragen sind alle von der Form <code>xapi?*[amenity=*][bbox=...]</code>. Erfreulicherweise wird eine Kennung des User Agents mitgeschickt, so dass ich die Abfragen der iOS-App &#8222;Geomon&#8220; zuordnen kann. Es sieht so aus, als wenn die Timeout-Meldungen keinerlei Effekt auf das Verhalten der App haben.</p>
<p>Unabhängig davon fällt am Freitag aus ungeklärten Gründen die Rambler-Instanz aus: die erste Unregelmäßigkeit ist, dass ein Durchlauf des Compilerwerkzeugs <code>make</code> mit einer nicht reproduzierbaren Fehlermeldung abstürzt. Danach gibt es Konsistenzehler bei der Area-Erzeugung, ebenfalls nicht reproduzierbar. Einige Stunden später gelingt es mir nicht mehr, mich per ssh einzuloggen, und der Webserver zeigt nicht einmal mehr die statische Website. Im Gesamtbild spricht fast alles für einen Hardware-Schaden. Im Nachhinein stellt es sich als ein Problem mit dem Rambler-internen NFS heraus; mein Home-Verzeichnis liegt nicht physisch auf dem gleichen Server wie der Overpass-Server, so dass dieser mein Home-Verzeichnis nicht mehr lesen konnte. Ich frage einen Reboot an, aber der Server bleibt unerreichbar.</p>
<p>Um die Performance für die meisten Anwendungen zu erhalten, auch wenn die Benutzerzahl von Geomon die aller anderen Anwendungen dominiert, habe ich daher zu diesem Zeitpunkt spezifisch die XAPI-Anfragen auf maximal 3 parallele Anfragen gedrosselt, so dass Overpass-QL-basierte Anwendungen weiterhin etwa die gewohnte Leistung erreichen.</p>
<p>Parallel dazu beginne ich für overpass-api.de einen Umzug vom vier Jahre alten Hetzner DS5600 (4 GB RAM, AMD K5600+) auf einen aktuellen Hetzner EX6S (32 GB RAM, Xeon E3-1245). Auf dem neuen Server habe ich diese Grenze auf 10 parallele Anfragen anheben können, so dass jetzt auch 90%-95% der Anfragen im XAPI-Format wieder ausgeführt werden.</p>
<p>Am 14. Juni ist dann das NFS-Problem auf dem Rambler-Server wieder behoben &#8211; der zuständige Administrator war nicht im Büro, und die Nachrichten-Weiterleitung hat nicht wie erwartet funktioniert. Jetzt funktioniert auf <a href="http://overpass.osm.rambler.ru/" target="_blank">overpass.osm.rambler.ru</a> wieder alles normal.</p>
<p><strong>Ist overpass-api.de generell überlastet?</strong></p>
<p>Generell muss sich niemand, der weniger als 10.000 Anfragen pro Tag erzeugt, darüber Gedanken machen. Die Leistungsgrenze des alten Servers liegt bei etwa 100.000 Anfragen pro Tag, die des neuen etwa bei 1.000.000 Anfragen pro Tag. Bei Lasttests haben sich auf dem neuen Server bis zu 10.000 Abfragen pro Minute als handhabbar herausgestellt, je nach Größe der Anfragen.</p>
<p>Knapp sind auf dem Server vor allem Festplattenzugriffe, im Englischen, der Server ist &#8222;I/O bound&#8220;. Die eigentlich gute Performance von Overpass API beruht darauf, Geodaten in Blöcken von 512KB statt einzeln zu lesen. Eine typische Anfrage wird das Lesen von 3-4 Blöcken auslösen, und der Server kann etwa 10 pro Sekunde lesen. Die beobachtete Geschwindigkeit liegt aber deutlich darüber, was dafür spricht, dass sehr viele Blöcke erfreulicherweise statt von der Festplatte aus dem RAM-Cache gelesen werden. Sehen kann man dies am <a href="http://overpass-api.de/munin/localdomain/localhost.localdomain/iostat.html" target="_blank">Munin-Diagramm</a>: es werden sogar mehr Daten geschrieben als gelesen.</p>
<p>Nicht knapp ist dagegen die CPU-Zeit. Das <a href="http://overpass-api.de/munin/localdomain/localhost.localdomain/cpu.html" target="_blank">Munin-Diagramm</a> zeigt uns, dass die Prozessoren ganz erheblich Zeit für die Area-Aktualisierung verwenden können und zu noch mehr Anteilen unbeschäftigt sind, was der gezeigte, orange bzw. gelbe Nice-Anteil ist.</p>
<p>Die eigentliche Schwierigkeit liegt jedoch darin, dass Anfragen schubweise kommen, zum Teil bis zu 5000 pro Minute. Für statische Webseiten wäre dies nicht viel, für Datenbankabfragen ist es allerdings sehr viel. Während solcher Schübe ist es unter Umständen nicht möglich, alle Abfragen zu bearbeiten, während dies im Normalbetrieb gewährleistet ist.</p>
<p>In der Vergangenheit hat es auch andere problematische Nutzungsmuster gegeben: allen voran ein offenbar auf Seiten des Client abgebrochener Download größerer Teile des Planeten, der vom Server weiterverfolgt, aber vom Client mehrfach erneut versucht worden ist.</p>
<p><strong>Welche Maßnahmen bestehen?</strong></p>
<p>Generell ist Overpass QL von vorneherein für die Ressourcen-Steuerung ausgelegt. Dazu wird für jede Abfrage zunächst der RAM-Bedarf und die Laufzeit geschätzt. Dies kann entweder explizit der Nutzer mit den entsprechenden Direktiven tun, oder der Server nimmt Default-Werte von 180 Sekunden und 512MB RAM an.</p>
<p>Überschreitet eine Anfrage den RAM-Bedarf oder ihre geschätzte Laufzeit, wird sie abgebrochen. Dies stellt sicher, dass große Abfragen von den Nutzern auch als große Anfragen gekennzeichnet werden. Umgekehrt entscheidet der Interpreter vor der Ausführung der Anfrage, ob noch genug Ressourcen für die Ausführung zur Verfügung stehen. Dies stellt sicher, dass zumindest nicht einzelne große Anfragen den Server blockieren können.</p>
<p>Overpass QL ist zudem defensiv entworfen: eine aufwendige Abfrage hat auch einen langen und umständlichen Quelltext, so dass nur sehr selten versehentlich große Anfragen gestellt werden.</p>
<p><strong>Warum ist speziell XAPI problematisch?</strong></p>
<p>Im Gegensatz zu Overpass QL ist XAPI dafür konzipiert, Resourcen-Grenzen vor dem Benutzer zu verbergen. Das führt dann dazu, dass ausgerechnet die einfachsten Abfragen wie &#8222;xapi?*[highway]&#8220; viel zu große Ergebnisse sowohl für den Server als auch für den Client liefern.</p>
<p>Tatsächlich ist dieser Konflikt zwischen Konzept und Realität die Haupt-Antriebsfeder gewesen, anstelle von XAPI eine imperative Skriptsprache zu konzipieren.</p>
<p><strong>Welche Maßnahmen bestehen nicht und warum?</strong></p>
<p>Keine Filterung besteht nach IP, User Agent oder ähnlichem.</p>
<p>Scraping von einer einzelnen IP-Adresse in solchem Umfang, dass es den Server blockiert, habe ich noch nicht beobachtet. Auf der anderen Seite gibt es Implementierungen, die für die Overpass-API-Daten als Proxy agieren. Dann sehe ich von vielen Nutzer-IP-Adressen nur eine Proxy-IP-Adresse, was dann fälschlicherweise nach einem Scraper aussieht.</p>
<p>Ein ähnliches Problem stellt sich bei den User Agents: Fast alle Browser, einschließlich einiger Internet-Explorer-Versionen, beginnen den User-Agent mit &#8222;Mozilla&#8220;. Browser-Mash-Ups sind aber erwünschte Nutzer. Es ist sogar noch schlimmer: würden einzelne Browser als User-Agents blockiert, sieht ein Website-Entwickler nicht reproduzierbare Unterschiede zwischen verschiedenen Browsern oder Versionen, für die man üblicherweise in den Browsern und nicht bei einem Datenlieferanten nach den Ursachen suchen würde.</p>
<p><strong>Wie geht es weiter?</strong></p>
<p>Auch in Zukunft wird der Server auf hohe Last einer populär werdenden Anwendung nur mit Überlast-Meldungen reagieren können. Es gibt nach dem Umzug durchaus erhebliche Reserven für den Normalbetrieb, aber mehr als eine Zehnerpotenz Lastreserve lässt sich nicht sinnvoll vorhalten.</p>
<p>Anders ausgedrückt: bei einem öffentlichen, kostenlosen Server sollte niemand erwarten, dass der Server jederzeit problemlos funktioniert, eben weil andere Nutzer den Service überlasten könnten. Wer Zuverlässigkeit garantieren möchte, sollte eine eigene Instanz betreiben &#8211; dafür ist die Software Open Source und leicht zu installieren.</p>
<p>Für mich selbst habe ich den Anspruch, Störungen in weniger als 24 Stunden zu beheben, so dass auch weiterhin Projekte ohne Geld für einen Server trotzdem Zugriff auf ein leistungsfähiges Backend für OSM-Daten bekommen können.</p>
<p>In diesem Sinne möchte ich mit der guten Meldung schließen, dass dank dem Lastproblem die Software durch neue Optimierungen jetzt zum Teil erheblich schneller antworten kann. Das &#8222;Geomon&#8220;-Team ist mittlerweile auf einen eigenen Server umgezogen, so dass nun größere Server-Power mit effizienterer Software für die gleichen Nutzerzahlen auf <a href="http://overpass-api.de/" target="_blank">Overpass API</a> zur Verfügung steht.</p>
]]></content:encoded>
					
					<wfw:commentRss>/blog/2012/06/overpass-api-wachst-um-eine-grosenordnung/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
