Sobald Sie ein Kachelschema für den Kartenservice definiert haben, versucht der Service unmittelbar, den Cache zu verwenden. Der Cache wird von allen ArcGIS-Anwendungen verwendet, die einen Karten- oder Image-Service anzeigen können. Die Kacheln werden jedoch von jeder Anwendung auf andere Weise abgerufen und verwendet.
Web-Apps
Sie können den gecachten Karten- oder Image-Service als Grundkarte oder als operationalen Layer in der Webkarte hinzufügen.
Um einen gecachten Kartenservice mit Ihrer Webkarte zu verbinden, können Sie ein Objekt des Typs Gekachelter ArcGIS-Kartenservice-Layer verwenden.
Um einen gecachten Image-Service mit Ihrer Webkarte zu verbinden, können Sie ein Objekt des Typs Gekachelter ArcGIS-Image-Service-Layer verwenden.
Die Kacheln werden mittels REST-Aufrufen des Kartenservice aus dem Cache-Verzeichnis abgerufen. Dabei wird die folgende Kartenkachel-Anforderung verwendet: https://<map service URL>/tile/<level>/<row>/<column>.
Problembehandlung bei Web-Apps
Wenn die Performance der Karte geringer als erwartet ist, können Sie die URLs der Kartenbilder untersuchen, um sicherzustellen, dass die Anwendung die gecachten Kacheln abruft.
Führen Sie die folgenden Schritte aus, um zu überprüfen, ob die App die gecachten Kacheln abruft:
- Öffnen Sie die Anwendung "Web Developer Tools" in Ihrem Browser.
- Klicken Sie in der Konsole auf die Registerkarte Netzwerk.
- Schwenken und zoomen Sie die Webkarte.
Wenn Sie in der Konsole URLs sehen, die ähnlich wie die folgende formatiert sind, werden von Ihrer App erfolgreich gecachte Kacheln aus REST-Anforderungen verwendet.
https://gisserver.domain.com:6443/arcgis/rest/services/myService/MapServer/tile/10/1723/3495.jpg
Wenn ein anderes URL-Format zu sehen ist, z. B. exportMap oder exportImage, verwendet die App den Cache nicht.
ArcGIS Pro
Informationen dazu, wie ArcGIS Pro gecachte Kartenservices hinzugefügt werden können, finden Sie unter Hinzufügen von Layern zu einer Karte oder Szene in ArcGIS Pro.
Wenn eine Kachel in einem Maßstab angefordert wird, der exakt mit der Maßstabsebene im Cache für eine bestimmte Projektion übereinstimmt, gibt der Kartenservice die Kachel direkt zurück. Häufig stimmen die Anforderungen jedoch nicht genau mit dem Maßstab oder der Projektion in einem Cache überein. In diesen Fällen wird die Kachel der nächsten Maßstabsebene angefordert und ein Resampling durchgeführt, um sie an den angeforderten Maßstab anzupassen. Das Resampling ist schneller als das dynamische Generieren einer Kachel, das aus diesem Prozess resultierende Bild stimmt jedoch nicht genau mit der ursprünglichen Kachel überein.
Hinweis:
Gecachte Kartenbeschriftungen sind nach dem Resampling in bestimmten Maßstäben möglicherweise schlecht lesbar.
Es wird empfohlen, die Karte in einem Maßstab anzuzeigen, der in etwa dem Maßstab entspricht, mit dem der Cache erstellt wurde, um die Lesbarkeit zu bestätigen.
In ArcGIS Pro werden Inhalte von Karten- und Image-Services lokal gecacht, um die Performance von Karten- und Bild-Layern für eine Sitzung zu verbessern. Weitere Informationen zur Funktionsweise von Caching in ArcGIS Pro finden Sie unter Festlegen von Caching-Optionen.
In ArcGIS Pro kann auf gecachte Daten auch als Raster-Dataset zugegriffen werden. Caches, auf die als Raster zugegriffen wird, können zwar nicht abgefragt werden, ermöglichen aber das Anzeigen der Kacheln, wenn die Verbindung zum Server unterbrochen ist, da sie nicht auf einem Kartenservice basieren.
Aktivieren von Clients für lokales Cachen
Wenn Sie gecachte Karten- oder Image-Services anzeigen, können Sie das lokale Speichern von Kacheln durch ArcGIS-Clients zulassen, damit sie nicht erneut abgerufen werden müssen, wenn ein Benutzer wieder zu einem bereits zuvor angezeigten Bereich navigiert.
Hinweis:
Die Benutzer müssen möglicherweise ihren lokalen Cache leeren, bevor sie die von Ihnen vorgenommenen Aktualisierungen des Cache sehen können.
Wenn Sie den Cache häufig aktualisieren, können Sie die Möglichkeit für Clients, Kacheln lokal zu cachen, wahlweise deaktivieren. Auf diese Weise wird sichergestellt, dass die Benutzer die aktuellsten Informationen erhalten statt älterer Informationen, die möglicherweise im lokalen Cache gespeichert sind.
Wenn lokales Caching aktiviert ist, können die Benutzer Kachel-Caches auch lokal speichern. Sie können wahlweise den lokalen Cache ständig erstellen, einen neuen lokalen Cache für jede Anwendungssitzung erstellen oder keinen lokalen Cache erstellen.
Definieren der Eigenschaft "cacheControlMaxAge"
Wenn Clients Anforderungen an den ArcGIS Server senden, um einen Kartenservice anzuzeigen, wird die Antwort vom Server normalerweise vom Browser gecacht und für einen bestimmten Zeitraum wiederverwendet. Durch dieses Verhalten wird die beste Darstellungs-Performance für den Inhalt erzielt. Abhängig davon, wie der gecachte Karten- oder Image-Service und die ihm zugeordneten Daten in Anwendungen verwendet werden, können Sie die Länge des Zeitraums anpassen, den der Browser eine Antwort in seinem Cache verwendet.
Wenn eine Anforderung wiederholt wird und das maximale Alter des Cache nicht überschritten wurde, verwendet der Browser die gecachte Antwort, ohne die Anforderung an den Server zu senden. Wenn das maximale Alter überschritten wurde, muss der Browser die Anforderung an den Server senden und einen IF-NONE-MATCH-Header mit zugeordnetem ETag-Wert festlegen, der der Antwort im Cache entspricht. ArcGIS Server wertet die Anforderung aus und bestimmt anhand des ETag-Wertes, ob sich die Antwort geändert hat Wenn sich die Antwort vom Server von der Kopie im Browser unterscheidet, sendet der Server eine neue Antwort an den Browser. Wenn die Antwort mit der Kopie im Browser identisch ist, benachrichtigt der Server den Browser, dass die Antwort im Cache weiter verwendet werden soll.
Bei gecachten Kartenservices, die das lokale Cachen von Kacheln auf Clients nicht zulassen, ist der Standardwert 0. Demzufolge sendet der Browser eine Anforderung immer erneut, und ArcGIS Server verarbeitet die Anforderung und sendet eine Antwort, wenn sich der Inhalt geändert hat. Dieser Standardwert ist für die meisten Apps gut geeignet.
Bei gecachten Kartenservices, die das lokale Cachen von Kacheln auf Clients zulassen, ist der Standardwert 86.400 Sekunden (1 Tag). Bei diesem Standardwert verwendet der Browser die im lokalen Cache gespeicherte Antwort, wenn eine Anforderung innerhalb von einem Tag wiederholt wird. Wenn der gecachte Kartenservice nicht häufig aktualisiert wird, empfiehlt es sich, die Eigenschaft cacheControlMaxAge auf 30 Tage (2.592.000 Sekunden) oder länger zu erhöhen, um den Netzwerkdatenverkehr so gering wie möglich zu halten.
Gehen Sie wie folgt vor, um Ihrem Service die Eigenschaft cacheControlMaxAge hinzuzufügen und ihren Standardwert zu bearbeiten:
- Öffnen Sie in einem Web-Browser das ArcGIS Server-Administratorverzeichnis, und melden Sie sich mit Administratorberechtigungen an.
Die URL hat das Format http://gisserver.domain.com:6443/arcgis/admin.
- Klicken Sie auf Services, und wählen Sie den Karten- oder Image-Service, den Sie ändern möchten, aus der Liste Services aus.
Wenn der Service nicht in der Liste angezeigt wird, befindet er sich möglicherweise in einem Unterverzeichnis des Stammordners.
- Führen Sie auf der Seite Service - <Service-Name> (<service type>) einen Bildlauf bis zum unteren Rand aus, und klicken Sie auf edit.
- Suchen Sie im Dialogfeld Service-Eigenschaften den Abschnitt "properties" des Service-JSON.
- Fügen Sie dem Abschnitt die Eigenschaft cacheControlMaxAge hinzu, und geben Sie den Wert (in Sekunden) an.
Beispiel:
"properties": { "cacheControlMaxAge": "300",
- Klicken Sie auf Änderungen speichern.
- Stellen Sie sicher, dass die Eigenschaft cacheControlMaxAge und der Wert, den Sie ausgewählt haben, im Abschnitt Eigenschaften angezeigt werden.
Verwenden einer Dateifreigabe mit hoher Verfügbarkeit
Für den Cache Ihrer lokalen GIS-Server-Site können Sie ein Verzeichnis auf einem Dateiserver mit hoher Verfügbarkeit festlegen, der ein SAN (Storage Area Network) oder ein NAS (Network Attached Storage) mit hoher Verfügbarkeit verwendet. Dieses wird in der Regel durch die IT-Abteilung konfiguriert.
Wenn Ihre Organisation über ein SAN oder NAS mit ausreichendem Speicherplatz für Ihren Cache verfügt, ist dies die einfachste und zuverlässigste Lösung, um die Karten- und Image-Caches hochverfügbar zu machen.
Wenn Sie keinen Zugriff auf solch einen Dateiserver haben, können Sie Cache-Verzeichnisse auf jedem Computer in Ihrer Bereitstellung erstellen, wie im folgenden Abschnitt beschrieben.
In Systemen mit hoher Verfügbarkeit können Sie Ihre Cache-Verzeichnisse in Cloud-Speichern sichern. Beachten Sie, dass Endbenutzer von Karten- oder Image-Service-Caches unter Umständen Performance-Einbußen feststellen, da die Kacheln aus einem Cloud-Speicher und nicht von der lokalen Festplatte abgerufen werden. Sorgen Sie zudem dafür, dass die Caches in den Cloud-Speichern das kompakte v2-Speicherformat aufweisen.
Konfigurieren von Caches mit hoher Verfügbarkeit
Durch die Speicherung mehrerer Kopien von Karten und Image-Caches auf allen Computern in der Site sind der Cache und der Service hochverfügbar. Erstellen Sie Verzeichnisse auf jedem Computer in der GIS-Server-Site, und kopieren Sie alle Caches in jedes dieser Verzeichnisse. Alle Computer der GIS-Server-Site müssen Zugriff auf jedes Cache-Verzeichnis haben.
Beachten Sie beim Konfigurieren lokaler Cache-Verzeichnisse Folgendes:
- Sie können kein bedarfsgesteuertes Karten-Caching mit Services verwenden, die mit einem lokalen Cache-Verzeichnis konfiguriert sind.
- Die Ausgabe von Geoverarbeitungswerkzeugen, die vorhandene Caches aktualisieren, erfolgt in einem gemeinsam verwendeten Site-Cache-Verzeichnis. Wenn Sie diese Werkzeuge ausführen, müssen Sie Caches in die lokalen Cache-Verzeichnisse jedes Computers des GIS-Servers verschieben.
Obwohl die Implementierung von Cache-Verzeichnissen auf jedem Computer in der GIS-Server-Site einen höheren Verwaltungsaufwand erfordert, ist es die einzige Möglichkeit, einen GIS-Server mit hoher Verfügbarkeit in der Cloud zu implementieren.
Diese Lösung lässt sich auch in lokale Bereitstellungen implementieren. Dies empfiehlt sich, wenn Sie über keinen Dateiserver mit hoher Verfügbarkeit verfügen und Ihre Caches nicht häufig (oder nie) aktualisiert werden.
Karten- und Image-Caches werden standardmäßig in ein einzelnes Site-Cache-Verzeichnis geschrieben. Führen Sie diese Schritte aus, um Cache-Verzeichnisse auf jedem Computer der GIS-Server-Site zu konfigurieren.
- Öffnen Sie den ArcGIS-Service-Endpunkt des Server-Cache-Verzeichnisses. Die URL hat das Format http://gisserver.domain.com:6080/arcgis/admin/system/directories.
- Wählen Sie den Site-Cache aus.
- Klicken Sie auf Bearbeiten.
- Legen Sie Lokales Verzeichnis verwenden auf TRUE fest.
- Legen Sie den Pfad auf ein lokales Cache-Verzeichnis fest. Cache-Verzeichnisse müssen auf allen Computern im selben Verzeichnis erstellt werden.
Nachdem die Einstellung vorgenommen wurde, erstellt ArcGIS-Server Caches für Karten- und Image-Services, die auf diesem Computer veröffentlicht werden, im von Ihnen angegebenen lokalen Cache-Verzeichnis.
- Kopieren Sie vorhandene Cache-Daten manuell aus dem Site-Cache-Verzeichnis in jedes lokale Cache-Verzeichnis.
Stellen Sie sicher, dass die Erstellung des vorhandenen Cache abgeschlossen wurde, bevor Sie versuchen, ihn zu kopieren.
Der Cache kann beispielsweise mit "Robocopy" verschoben werden.
robocopy <location of existing cache> <local cache directory> /s