Performance-Tipps für Web-Werkzeuge

Die Benutzer erwarten eine möglichst schnelle Ausführung der Werkzeuge, daher muss das Web-Werkzeug schnell und effizient sein. Da ArcGIS Server mehrere Clients gleichzeitig versorgen kann, führen ineffiziente Services möglicherweise zur Überlastung des Servers. Je effizienter die Services sind, desto mehr Clients können mit denselben Computerressourcen ausgeführt werden.

Mit den folgenden Tipps und Methoden lässt sich die Performance von Services steigern. Die Verfahren sind in einer bestimmten Reihenfolge aufgeführt: Die Verfahren, die die größten Performance-Verbesserungen ermöglichen, werden zuerst beschrieben. Mit den letzten Tipps lässt sich die Performance um einige Zehntelsekunden steigern, was in bestimmten Szenarien von Bedeutung sein kann.

Verwenden von Layern für Projektdaten

Wenn ein Werkzeug vor seiner Freigabe als Web-Werkzeug ausgeführt wird, müssen Sie das Werkzeug mithilfe von Layern als Eingabe statt mit Pfaden zu Datasets auf einer Festplatte ausführen. Ein Layer verweist auf ein Dataset auf der Festplatte, und Layer cachen Dataset-Eigenschaften. Dies gilt insbesondere für Netzwerk-Dataset-Layer und Raster-Layer. Wenn statt des Pfades zum Dataset ein Layer verwendet wird, steigert dies die Performance, weil der Service nach dessen Start den Layer aus dem Dataset erstellt, grundlegende Dataset-Eigenschaften im Cache zwischenspeichert und das Dataset geöffnet lässt. Wenn der Service ausgeführt wird, stehen die Dataset-Eigenschaften sofort zur Verfügung, und das Dataset ist geöffnet und steht bereit.

So erstellen beispielsweise der Sichtfeldservice auf dem Esri SampleServer und die Erweiterung "ArcGIS Network Analyst" Reisezeitpolygone, die Layer verwenden. Je nach Größe des Datasets können dadurch pro Serviceausführung mehr als ein oder zwei Sekunden eingespart werden.

Verwenden von lokal in ArcGIS Server gespeicherten Daten

Die vom Web-Werkzeug benötigten Projektdaten müssen lokal in ArcGIS Server gespeichert sein. Daten, die freigegeben werden oder auf die über eine Netzwerkfreigabe (UNC) zugegriffen wird, sind langsamer als wenn sie auf dem gleichen Rechner verfügbar wären. Die Performance-Werte variieren stark, es kann jedoch durchaus vorkommen, dass das Lesen und Schreiben von Daten in einem LAN doppelt so viel Zeit wie das Lesen von der lokalen Festplatte in Anspruch nimmt.

Schreiben von Zwischendaten in den Arbeitsspeicher

Schreiben Sie Zwischendaten (Scratch-Daten) in den memory-Workspace. Dies ist schneller als das Schreiben von Daten auf die Festplatte.

Hinweis:

Sie können auch Ausgabedaten in den Speicher schreiben, solange die Option zum Anzeigen von Ausgaben als Kartenbild-Layer nicht festgelegt ist.

Weitere Informationen zum Schreiben von Daten in den Speicher

Vorbereiten der Daten, die von Tasks verwendet werden

Die meisten Web-Werkzeuge sind als spezialisierte Workflows konzipiert, die Antworten auf spezifische räumliche Abfragen von Web-Clients liefern. Da es sich bei diesen Workflows um spezifische Vorgänge für bekannte Daten handelt, besteht fast immer die Möglichkeit, die Daten zum Optimieren des Vorgangs vorzuverarbeiten. Beispielsweise handelt es sich beim Hinzufügen eines Attributs oder räumlichen Index um einen Vorverarbeitungsvorgang, mit dem die räumliche oder Attributauswahl optimiert wird.

  • Mithilfe der Werkzeuge Near oder Near-Tabelle erstellen können Entfernungen zwischen Standorten vorab berechnet werden. Angenommen, der Service erlaubt Clients, unbebaute Flurstücke auszuwählen, die sich in einer benutzerdefinierten Entfernung vom Los Angeles River befinden. Sie könnten diese Auswahl mithilfe des Werkzeugs Layer lagebezogen auswählen vornehmen, aber es wäre viel schneller, die Entfernung jedes Flurstücks vom Los Angeles River (mithilfe des Werkzeugs Near) vorab zu berechnen und die ermittelte Entfernung als Attribut der Flurstücke zu speichern. Sie würden dieses Attribut mithilfe des Werkzeugs Attributindex hinzufügen indizieren. Wenn der Client nun eine Abfrage stellt, kann der Task anstatt einer weniger effizienten räumlichen Abfrage eine Attributauswahl auf Basis des Entfernungsattributs durchführen.

Hinzufügen von Attributindizes

Wenn das Werkzeug mit Attributabfragen Daten auswählt, sollten Sie mit dem Werkzeug Attributindex hinzufügen einen Attributindex für jedes in Abfragen verwendete Attribut erstellen. Sie müssen den Index nur einmal erstellen. Dies kann außerhalb des Modells oder Skripts erfolgen.

Hinzufügen von räumlichen Indizes

Wenn das Modell oder Skript räumliche Abfragen von Shapefiles ausführt, erstellen Sie mit dem Werkzeug Räumlichen Index hinzufügen einen räumlichen Index für das Shapefile. Wenn Sie Geodatabase-Feature-Classes verwenden, werden räumliche Indizes automatisch erstellt und verwaltet. Unter bestimmten Umständen kann durch Neuberechnen eines räumlichen Index die Performance verbessert werden (siehe Räumliche Indizes in der Geodatabase).

Verwenden des synchronen Modus statt des asynchronen Modus

Das Web-Werkzeug kann so eingestellt werden, dass es synchron oder asynchron ausgeführt wird. Die asynchrone Ausführung von Werkzeugen stellt für den Server eine Zusatzbelastung dar, was bedeutet, dass asynchrone Werkzeuge kaum unter einer Sekunde ausgeführt werden. Die synchrone Ausführung desselben Tasks erfolgt etwa um eine Zehntelsekunde schneller als im asynchronen Modus.

Vermeiden von unnötigen Koordinatentransformationen

Wenn das Web-Werkzeug Datasets mit verschiedenen Koordinatensystemen verwendet, müssen möglicherweise bei der Werkzeugausführung Koordinaten in ein gemeinsames Koordinatensystem transformiert werden. Je nach Größe der Datasets kann das Transformieren von Koordinaten von einem Koordinatensystem in ein anderes den Aufwand unnötig erhöhen. Sie müssen darauf achten, welches Koordinatensystem in den Datasets verwendet wird und ob die Werkzeuge Koordinaten transformieren müssen. Möglicherweise empfiehlt es sich, alle Datasets, die von dem Werkzeug verwendet werden, in ein gemeinsames Koordinatensystem zu transformieren.

Verringern der Datengröße

Jede Datenverarbeitungssoftware arbeitet schneller, wenn die Datasets klein sind. Nachfolgend finden Sie einige Möglichkeiten zur Verringerung der Größe von geographischen Daten:

  • Entfernen Sie mit dem Werkzeug Feld löschen nicht benötigte Attribute aus den Projektdaten.
  • Linien- und Polygon-Features weisen Stützpunkte auf, die die Form der Features definieren. Jeder Stützpunkt ist eine XY-Koordinate. Die Features weisen möglicherweise mehr Stützpunkte als erforderlich auf, sodass die Größe des Datasets unnötig erhöht wird.
    • Wenn die Daten aus einer externen Quelle stammen, enthalten sie eventuell doppelte Stützpunkte oder Stützpunkte, die so nahe beieinander liegen, dass sie nicht zur Definition des Features beitragen.
    • Die Anzahl der Stützpunkte entspricht nicht dem Analysemaßstab. Beispielsweise enthalten die Features Details, die bei großen Maßstäben angemessen sind, jedoch erfolgt die Analyse oder Darstellung mit einem kleinen Maßstab.
    Die Werkzeuge Linie vereinfachen, Polygon vereinfachen und Generalisieren können verwendet werden, um irrelevante Stützpunkte aus den Daten zu entfernen und so die gewünschte Detaillierungsebene zu erzielen.