Tipps zur Performance-Optimierung für Geoverarbeitungs-Services
Geoverarbeitungs-Services müssen schnell und effizient sein. Die Clients erwarten eine schnelle Verarbeitung. Da ArcGIS Server mehrere Clients gleichzeitig aufnehmen kann, führen ineffiziente Services möglicherweise zur Überlastung des Servers. Je effizienter die Services sind, desto mehr Clients können mit denselben Computerressourcen versorgt werden.
Mit den folgenden Tipps und Verfahren lässt sich die Performance von Services steigern. Die Verfahren werden in einer bestimmten Reihenfolge dargestellt – die Verfahren, die die größte Performance-Steigerung ermöglichen, werden zuerst beschrieben. Mit den letzten Tipps lassen sich einige Zehntelsekunden an Ausführungszeit sparen. Dies kann für einige Tasks erforderlich sein.
Verwenden Sie lokale Auftragsverzeichnisse
Wenn die ArcGIS Server-Konfiguration mehrere Computer umfasst, sollten Sie auf jedem Computer lokale Auftragsverzeichnisse einrichten. Hierdurch wird die Ausführungszeit erheblich verringert. Für das Einrichten von lokalen Auftragsverzeichnissen ist der Systemadministrator zuständig.
Verwenden Sie lokale Pfade für Daten und Ressourcen
Vom Service verwendete Daten sollten nach Möglichkeit auf dem Computer gespeichert werden, auf dem der Service ausgeführt wird, und nicht über das LAN (Local Area Network) verteilt gespeichert werden. Das Lesen der Daten im LAN erfordert mehr Zeit als das Lesen von einer lokalen Festplatte. Die Leistungswerte variieren, jedoch gilt als Faustregel, dass das Übertragen von Daten im LAN doppelt so viel Zeit wie das Lesen von der lokalen Festplatte erfordert.
Schreiben Sie Daten in den Arbeitsspeicher
Sie können Zwischendaten in den Arbeitsspeicher schreiben. Dies ist schneller als das Schreiben von Daten auf die Festplatte. Sie können auch Ausgabedaten in den Arbeitsspeicher schreiben, solange Sie keinen Karten-Service des Ergebnisses verwenden. Raster können nicht in den Arbeitsspeicher geschrieben werden.
Weitere Informationen zum Schreiben von Daten in den Speicher
Verwenden Sie das Esri GRID-Raster-Format
ArcGIS unterstützt viele unterschiedliche Raster-Datenformate. Wenn für den Task Raster-Daten verwendet werden, sollten dieser im Allgemeinen im GRID-Format gespeichert werden, sodass alle Modellprozesse mit GRIDs arbeiten. (Sie können mit dem Werkzeug Raster in anderes Format oder dem Werkzeug Raster kopieren jedes Raster für das GRID-Format vorverarbeiten.) Das GRID-Format ist für die Verarbeitung im Allgemeinen schneller als andere Raster-Typen, aber Sie können in Ihren Modellen und Skripten jeden unterstützten Raster-Typ verwenden.
Wenn Sie die Raster-Daten nicht im GRID-Format speichern können, können Sie eventuell mit dem Werkzeug Raster kopieren im Modell oder Skript einen Teil des Rasters kopieren und dann nur den kopierten Teil verarbeiten. Um einen Teil eines Rasters zu kopieren, verwenden Sie das Werkzeug Raster kopieren, und legen Sie die Umgebungseinstellung für die Ausgabeausdehnung der Geoverarbeitung fest. Es werden nur die Zellen innerhalb der Ausdehnung kopiert.
Verwenden Sie Layer aus einem Quellkartendokument
Wenn der Service ein Quellkartendokument nutzt, können für Modelle und Skripte Layer aus dem Quellkartendokument verwendet werden. Ein Layer verweist auf ein Dataset auf der Festplatte, und einige Layer cachen Eigenschaften des Datasets. Dies trifft insbesondere für Netzwerk-Dataset-Layer zu, wie in Beispiel für GP-Service: Reisezeitpolygone veranschaulicht. Wenn statt des Datasets ein Netzwerk-Dataset-Layer verwendet wird, erhöht sich die Performance, weil ArcMap das Dataset einmal öffnet, die grundlegenden Eigenschaften des Datasets zwischenspeichert und das Dataset geöffnet lässt. Beim Ausführen des Modells muss das Dataset nicht erneut geöffnet werden, weil es bereits für das Quellkartendokument geöffnet ist – dies bedeutet eine Performance-Steigerung.
Vermeiden Sie unnötige Koordinatentransformationen
Weitere Informationen finden Sie unter Überlegungen zu Raumbezügen für Geoverarbeitungs-Services.
Fügen Sie Attributindizes hinzu
Wenn der Task mit Attributabfragen Daten auswählt, erstellen Sie einen Attributindex für jedes in Abfragen verwendete Attribut. Sie können das Werkzeug Attributindex hinzufügen verwenden. Sie müssen den Index nur einmal erstellen. Dies erfolgt außerhalb des Modells oder Skripts.
Fügen Sie räumliche Indizes hinzu
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 Festlegen von räumlichen Indizes).
Bereiten Sie die Daten vor, die von Tasks verwendet werden
Geoverarbeitungs-Services sind als eng umrissene Anwendungen konzipiert, die Antworten auf spezifische räumliche Abfragen von Web-Clients liefern. Weil es sich bei Tasks i. d. R. um spezifische Abfragen bekannter Daten handelt, besteht normalerweise die Möglichkeit, die Daten zum Optimieren der Abfrage vorzuverarbeiten. Beispielsweise handelt es sich beim Hinzufügen eines Attributs oder räumlichen Indizes um eine einfache Vorverarbeitung, die nur einmal, und zwar außerhalb des Tasks, ausgeführt werden muss.
Nachfolgend werden einige Beispiele für die Vorverarbeitung aus den Beispielen für Geoverarbeitungs-Services genannt, die mit den Lernprogrammdaten geliefert werden.
- Im Beispiel GP-Service Schritt für Schritt: Wassereinzugsgebiet werden hydrologische Daten durch das Erstellen eines Abflussakkumulations- und Fließrichtungs-Rasters vorverarbeitet.
- Im Modell Select Tax Lots By Neighborhood (optimized) im Beispiel für GP-Service: Auswählen von Daten werden Daten mit dem Werkzeug "Überschneiden (Intersect)" vorverarbeitet.
- Für Netzwerke kann mit dem Werkzeug Standorte berechnen der Standort fester Punkte im Netzwerk vorausberechnet werden. Ein Beispiel für die Verwendung von Standorte berechnen finden Sie unter Beispiel für GP-Service: Suchen nahe gelegener Features über ein Straßennetz.
Schreiben Sie Daten in Shapefiles
Das Schreiben von Daten in Shapefiles erfolgt schneller als das Schreiben in viele andere Formate (nur das Schreiben in den Arbeitsspeicher ist schneller). Shapefiles weisen jedoch einige schwerwiegende Einschränkungen auf, z. B. die Begrenzung der Länge von Feldnamen auf 10 Zeichen, keine Unterstützung von Nullwerten und eingeschränkte Unterstützung für Datum/Uhrzeit. Diese Einschränkungen können zur Beschädigung des Modells oder Skripts führen. Weitere Informationen zur Shapefile-Ausgabe finden Sie unter Überlegungen zur Geoverarbeitung für die Shapefile-Ausgabe.
Verringern Sie die Datengröße
Jede Datenverarbeitungssoftware arbeitet schneller, wenn die Datasets klein sind. Es gibt mehrere Möglichkeiten, die Größe von geographischen Daten zu verringern.
- Entfernen Sie mit dem Werkzeug Feld löschen nicht benötigte Attribute.
- Linien- und Polygon-Features weisen Stützpunkte auf, die die Form der Features definieren. Jeder Stützpunkt ist eine x,y-Koordinate. Möglicherweise weisen Features 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 wird die Analyse oder Präsentation mit einem kleinen Maßstab ausgeführt.
Verwenden Sie "Synchron" statt "Asynchron"
Synchron bedeutet, dass der Client wartet, bis der Task vom Server ausgeführt wurde. Asynchron bedeutet, dass der Client andere Aktionen ausführen kann, während der Task vom Server ausgeführt wird. Das Ausführen eines Tasks erfolgt im Synchronmodus etwa um eine Zehntelsekunde schneller als im Asynchronmodus.