BlogMapsGISKontakt

JMeter mit ArcGIS Server

Das Thema Performance darf beim ArcGIS Server nicht unterschätzt werden. Doch wie misst man Performance? Es gibt von ESRI zwar einige Hilfstools wie MXDPerfStat, das Geodatabase Toolset oder die Map Service Publishing Toolbar. Damit kann man ziemlich gut die Performance einzelner MXDs optimieren und messen. Schwieriger umzusetzen sind grösser angelegte Lasttests (auf mehrere Dienste, mehrere Anwender etc.). ESRI hat hier keine Haus-Lösung anzubieten, das ist aber auch gar nicht nötig, da das Testen von Diensten und Webapplikationen nicht wirklich eine GIS-spezifische Anforderung ist. Deshalb kann hier auf bestehende Tools zurückgegriffen werden.

Eines der überzeugendsten Tools ist sicherlich JMeter, ein Apache-Projekt. Damit können sehr ausgeklügelte und breit angelegte Performance-Tests (z.B. von mehreren Clients aus) gefahren werden. JMeter ist eine Java-Applikation, die somit auf fast jedem Desktop lauffähig ist. Die Dokumentation ist ziemlich gut, so dass hier auf weitere Worte verzichtet wird. Die beste Einstiegshilfe war das Aufsetzen eines JMeter-Proxies, mit dem ganze Sessions im Browser aufgezeichnet werden können. Diese Aufzeichnungen sind perfekte Vorlagen für das weitere Verfeinern eines Testplans. In Bezug auf ArcGIS Server bietet sich die REST-Schnittstelle als Test-Schnittstelle an, da hier alle Parameter einfach über URL-Parameter übertragen werden. Mit JMeter kann aber sicher auch die SOAP-Schnittstelle angesteuert werden. Es kann aber auch eine auf ArcGIS Server aufbauende Applikation wie z.B. WebOffice angesprochen werden. Der erarbeitete Testplan kann gespeichert werden, damit ist garantiert, dass immer derselbe Test ausgeführt wird. Das erleichtert den Vergleich zu verschiedenen Zeiten. Mich hat JMeter überzeugt!

Ähnliche Beiträge:
Eigene Geoprocessing-Tools mit ArcObjects Teil 7: Fazit
Eigene Geoprocessing-Tools mit ArcObjects Teil 6: IGPFunction.Execute
Eigene Geoprocessing-Tools mit ArcObjects Teil 5: IGPFunction.Validate
Eigene Geoprocessing-Tools mit ArcObjects Teil 4: IGPFunction.ParameterInfo
Eigene Geoprocessing-Tools mit ArcObjects Teil 3: IGPFunction
Comments (1)  Permalink

DOM-Punktwolke mit ArcGIS

Letztens stand ich vor dem Problem eine Punktwolke (DOM für das gesamte Berner Kantonsgebiet) nach ArcSDE zu importieren, ohne genau zu wissen, auf was ich mich da eingelassen hatte. Schon allein die Roh-Daten waren von beeindruckender Grösse. Sie lagen im XYZ-Format vor und nahmen unkomprimiert ca. 130GB Platz ein! Ich öffnete eines der kleinsten Files (30MB) und zählte die Records (Zeilen): 1.2 Millionen! Also ging ich mit einem einfachen Python-Skript durch alle Files durch und zählte alle Records. Das gab die atemberaubende Zahl von 4.3 Milliarden Punkten! Nun ist die OBJECTID in ArcSDE vom Typ Integer32 und damit auf 231-1 (2.1 Milliarden) beschränkt. Da musste ich mich auf die Suche nach anderen Lösungen machen.

ESRI empfiehlt in solchen Fällen die Verwendung von MultiPointZ-Features. Das reduziert die Anzahl Records dramatisch. Glücklicherweise ist im 3D Analyst auch gleich ein äusserst praktisches Tool namens "ASCII 3D to Feature Class" enthalten, mit dem sich ganze Rohdaten-Verzeichnisse auf einen Rutsch in MultipointZ-FeatureClasses umwandeln können. So werden 5000 Features in ein Multipoint-Feature zusammengefasst. Damit resultiert eine Recordzahl von noch ca. 1 Million. Das ist deutlich einfacher zu handeln als 4.3 Milliarden.

Im 3D Analyst gibt es ausserdem noch das Gegenstück namens "Feature Class Z to ASCII", mit dem man die Features auch wieder rausschreiben kann. Mit diesen Tools werden auch solch gigantische Datenmengen handlebar...

Ähnliche Beiträge:
Swisstopo in der Wolke
Job im Amt für Geoinformation
Geocat 2 ist online
Geoinformationsstrategie des Kantons Bern
JMeter mit ArcGIS Server
Comments (1)  Permalink
1-2/2