Anforderungen
Wenn Sie über eine ArcGIS Enterprise-Bereitstellung verfügen, können Sie zum Erzielen der bestmöglichen Locator-Service-Performance ein serverseitiges asynchrones Batch-Geokodierungsmuster nutzen. Dieser Ansatz funktioniert mit Locators, die Sie auf dem Portal veröffentlicht haben. Weitere Informationen zum Erstellen von Locators und zu ihrer Freigabe in einem Portal finden Sie unter Erstellen eines Locators und Freigeben eines Locators.
Vorteile
Die Leistungsfähigkeit von ArcGIS Enterprise ermöglicht es Ihnen, die veröffentlichten Locators optimal zu nutzen. Nachdem ein Locator im Portal freigegeben wurde, steht er für die Batch-Geokodierung zur Verfügung. Die Verwendung des Portals zum Ausführen von Batch-Geokodierungen bietet unter anderem folgende Vorteile:
- Maximieren Sie die Serverressourcen, um die Batch-Geokodierung so schnell wie möglich durchzuführen.
- Erlauben Sie dem ArcGIS-Administrator die Verwaltung von Back-End-Ressourcen, um die Überlastung von Services zu vermeiden.
- Führen Sie umfangreiche Batch-Geokodierungsaufträge hinter der Firewall Ihrer Organisation unter Verwendung Ihrer Daten und Ihres eigenen veröffentlichten Locators durch.
- Chunking und Retry-Logik sind integriert, um sicherzustellen, dass umfangreiche Batch-Geokodierungsaufträge fehlerfrei durchgeführt werden können.
Architektur
Zur optimalen Nutzung der veröffentlichten Locator-Services können Sie die Anzahl der Instanzen des Geokodierungsservers erhöhen. Dies können Sie in ArcGIS Server Manager tun.
In dem obigen Schema hat ein Administrator den Locator-Service auf vier Instanzen erweitert. Der Administrator kann dann die Anzahl der Batch-Geokodierungs-Threads für den Locator auf 4 setzen und so die Performance bei der Batch-Geokodierung um das Vierfache steigern. Der Administrator kann die Zahl für die Eigenschaft "Anzahl der Threads für Batch-Geokodierung" auf der Startseite des Portals festlegen, indem er zur Registerkarte Organisation wechselt, auf Einstellungen > Utility-Services klickt und dann einen Bildlauf nach unten zu Geokodierung durchführt. Wenn vier Geokodierungsinstanzen verfügbar sind und zwei Benutzer gleichzeitig eine Batch-Geokodierung durchführen möchten, sollte der Administrator die Eigenschaft "Anzahl der Threads für Batch-Geokodierung" auf 2 festlegen, da sonst Aufträge in die Warteschlange eingereiht werden und es möglicherweise zum Timeout kommt, während ein anderer Auftrag abgeschlossen wird. Dadurch werden Batch-Geokodierungsaufträge mit jeweils zwei der verfügbaren Locator-Instanzen ausgeführt, sodass die Back-End-Locator-Services die Last der gleichzeitigen Übermittlung mehrerer Aufträge bewältigen können.
Hardware-Empfehlungen
Damit die Geokodierungsservices die bestmögliche Performance erzielen, wird für die Servercomputer, welche die Geokodierungsservices hosten, Folgendes empfohlen:
- Der Computer sollte ein physischer Computer sein (keine virtuelle Maschine).
- Der Computer sollte über Ethernet mit Ihrem Netzwerk verbunden sein (nicht über WLAN).
- ArcGIS Server sollte auf dem Computer auf einem Solid-State-Laufwerk (SSD) installiert sein.
- Bei Sites mit mehreren Computern sollten Sie den Locator für jeden Computer veröffentlichen und keine Netzwerkfreigabe verwenden.
Konfiguration
Im Anschluss an die Freigabe des Locators in der Organisation kann der Administrator das Portal anhand der folgenden Schritte so konfigurieren, dass es das oben beschriebene asynchrone Batch-Geokodierungsmuster nutzt.
Erhöhen des Timeout-Wertes für die Batch-Geokodierung
Standardmäßig wird das Zeitlimit des GeocodingTools-Geoverarbeitungsservice überschritten, wenn Aufträge länger als 200 Minuten dauern. Wenn Sie damit rechnen, dass für den Abschluss eines Batch-Geokodierungsauftrags mehr als 3 Stunden und 20 Minuten benötigt werden, sollten Sie die maximale Zeit, die ein Client den Service verwenden kann, erhöhen.
- Navigieren Sie zum ArcGIS Server Manager Ihres Hosting-Servers.
- Klicken Sie auf den Ordner Utilities im ArcGIS Server Manager-Verzeichnis.
- Klicken Sie auf den Geoverarbeitungsservice GeocodingTools.
- Klicken Sie auf das Banner Pooling, und ändern Sie die maximale Zeit, die ein Client den Service verwenden kann. Wenn Sie diese Einstellung auf einen sehr großen Wert erhöhen, können Sie sicherstellen, dass umfangreiche Batch-Geokodierungsaufträge niemals das Zeitlimit überschreiten.
- Klicken Sie auf die Schaltfläche Speichern und neu starten.
Hochskalieren des Geokodierungsservice
Je nachdem, über wie viele Kerne der ArcGIS Server-Computer verfügt, können Sie die Geokodierungsservice-Bereitstellung hochskalieren. Wenn der ArcGIS Server-Computer acht physische Kerne besitzt und Sie den Computer nur für die Batch-Geokodierung verwenden möchten, können Sie die Parameter Minimale Anzahl Instanzen pro Computer und Maximale Anzahl Instanzen pro Computer auf 8 festlegen und die Geschwindigkeit der Batch-Geokodierung somit um das Achtfache beschleunigen. Handelt es sich bei dem ArcGIS Server-Computer, der den Geokodierungsservice hostet, jedoch um eine virtuelle Maschine (VM), empfiehlt es sich, auf die Hälfte der Anzahl der virtuellen Kerne des Computers hochzuskalieren. Verfügt die VM also über acht virtuelle Kerne, sollten Sie den Geokodierungsservice auf vier Instanzen hochskalieren.
- Navigieren Sie zum ArcGIS Server Manager Ihres Hosting-Servers.
- Klicken Sie auf den Ordnernamen, wenn Sie den Geokodierungsservice in einem Ordner im ArcGIS Server Manager-Verzeichnis veröffentlicht haben. Standardmäßig erfolgt die Veröffentlichung im Ordner "Site (Stammverzeichnis)".
- Klicken Sie auf den Geokodierungsservice, den Sie hochskalieren möchten.
- Klicken Sie auf das Banner Pooling und ändern Sie die Parameter Minimale Anzahl Instanzen pro Computer und Maximale Anzahl Instanzen pro Computer in die gewünschte Anzahl der Instanzen. Für einen Geokodierungsservice sollten diese beiden Parameter immer denselben Wert haben, um sicherzustellen, dass für die Geokodierung immer die richtige Anzahl an Instanzen zur Verfügung steht.
- Klicken Sie auf die Schaltfläche Speichern und neu starten.
Konfigurieren der vorgeschlagenen Anzahl an Batch-Geokodierungs-Threads für den Locator
Ein für das Portal veröffentlichter Locator kann auch vom GeocodingTools-Geoverarbeitungsservice verwendet werden, der auf der verbundenen GIS Server-Site ausgeführt wird. Der Geoverarbeitungsservice kann mehrere gleichzeitige Anforderungen an den Geokodierungs-Utility-Service senden, um allgemein die Ausführung der Batch-Geokodierung zu beschleunigen. Die Anzahl der gleichzeitigen Anforderungen (Anzahl der Threads für Batch-Geokodierung) des Geoverarbeitungsservice kann von einem Portal-Administrator konfiguriert werden. Es ist wichtig, dass für die Anzahl der Threads für Batch-Geokodierung der richtige Wert festgelegt wird. Andernfalls treten bei der Batch-Geokodierung zunehmend Fehler auf.
Die Best Practice besteht darin, die Anzahl der Threads für Batch-Geokodierung proportional zur Anzahl der Instanzen festzulegen, die für den Geokodierungsservice verfügbar sind. Wenn beispielsweise 8 Instanzen für den Geokodierungsservice verfügbar sind und der ArcGIS Server-Computer nur für die Batch-Geokodierung verwendet wird, legen Sie die Anzahl der Threads für Batch-Geokodierung auf 8 fest. Wird der Geoverarbeitungsservice ausgeführt, sendet er 8 gleichzeitige Batch-Geokodierungsanforderungen an den Locator-Service. Falls weitere Instanzen für den Locator-Service zur Verfügung stehen, passen Sie die Anzahl an Batch-Geokodierungs-Threads entsprechend an, um die Nutzung der Instanzen durch den Locator-Service zu maximieren. Wenn jedoch zwei Benutzer die Batch-Geokodierung mit demselben Service gleichzeitig ausführen möchten, sollte der Administrator die Anzahl der Threads für Batch-Geokodierung auf 4 setzen, sodass jeder Benutzer die Hälfte der verfügbaren Geokodierungsservice-Instanzen verwendet und der Backend-Geokodierungsservice nicht mit Anforderungen überlastet wird.
Beachten Sie, dass der ArcGIS World Geocoding Service nicht mit Threads für die Batch-Geokodierung konfiguriert werden kann. Die folgende Konfiguration wird auf alle anderen veröffentlichten Locators angewendet, die als Utility-Services konfiguriert sind.
Führen Sie die folgenden Schritte aus, um die vorgeschlagene Anzahl an Batch-Geokodierungs-Threads für die Locators festzulegen:
- Verwenden Sie ArcGIS Pro, um den gewünschten Locator im Portal zu veröffentlichen.
- Melden Sie sich als Administrator bei Ihrem Portal an.
- Klicken Sie auf Inhalt, und stellen Sie sicher, dass der Locator für die Organisation freigegeben ist.
- Klicken Sie auf Organisation, und navigieren Sie unter Einstellungen zu Utility-Services.
- Führen Sie einen Bildlauf bis zum Abschnitt Geokodierung durch, und klicken Sie auf Locator hinzufügen. Wählen Sie den Locator aus, den Sie für die Batch-Geokodierung konfigurieren möchten, und passen Sie den Wert Anzahl der Threads für Batch-Geokodierung an.
- Klicken Sie auf OK und dann auf Speichern.
- Navigieren Sie zum ArcGIS Server Manager Ihres Hosting-Servers.
- Klicken Sie auf den Ordner Utilities im ArcGIS Server Manager-Verzeichnis.
- Klicken Sie auf den Geoverarbeitungsservice GeocodingTools.
- Klicken Sie auf die Schaltfläche Speichern und neu starten.
Hinweis:
Die Anzahl der Threads für Batch-Geokodierung muss kleiner oder gleich der Anzahl an Instanzen sein, die für den Locator verfügbar sind. Bei Auswahl eines größeren Wertes können die Batch-Geokodierungsaufträge fehlschlagen.
Für die Batch-Geokodierung aktivierte Werkzeuge
Nachdem der Administrator die Anzahl der Batch-Geokodierungs-Threads je Locator konfiguriert hat, können Benutzer die höhere Performance für ihre Batch-Geokodierungsaufträge nutzen. Diese Performance-Steigerung kann von den Werkzeugen Tabelle geokodieren, Positionen aus Tabelle geokodieren und Datei geokodieren in ArcGIS Pro sowie Positionen aus Tabelle geokodieren in Map Viewer Classic genutzt werden.