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.

Weitere Informationen zum lokalen Auftragsverzeichnis

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.

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.

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.

Verwandte Themen


3/6/2012