Das Generieren und Speichern von Caches für Karten- und Image-Service-Caches kann ressourcenintensiv auf dem Server sein. Nachstehend sind einige Vorgehensweisen für effizienteres Cachen aufgeführt.
Schätzen der Cache-Größe
Durch das Bestimmen der Cache-Größe für Ihr Kachelschema haben Sie die Möglichkeit, angemessene Ressourcen für die Cache-Generierung zuzuweisen. Je größer der Cache ist, desto mehr CPU, Speicher, Zeit und Festplattenspeicher werden für die Generierung des Cache-Inhalts benötigt.
Im Bereich Freigabe in ArcGIS Pro können Sie die Größe eines Cache basierend auf einer Caching-Konfiguration schätzen. Diese Schätzung gibt Aufschluss über die unterschiedlichen Cache-Größen, die sich durch Auswahl verschiedener Bildformate oder Maßstabsebenen ergeben.
Weitere Informationen finden Sie unter Konfigurieren eines Web-Kachel-Layers.
Cachen detaillierter Ebenen unter Verwendung eines Interessenbereichs
Cache-Inhalte werden standardmäßig für die volle Ausdehnung einer Karte erstellt. Wenn Sie Kacheln für ein großes geographisches Objekt erstellen, das nicht rechteckig ist, können Sie Zeit und Ressourcen einsparen, indem Sie einen Interessenbereich, der gecacht werden soll, interaktiv definieren.
Interessenbereiche sind die Regionen und Features, die von Ihren Benutzern am häufigsten angezeigt werden. So zählen beispielsweise Großstädte, Landmarks und Autobahnen zu den Interessengebieten, auf die Benutzer häufig ihren Fokus richten. Diese Gebiete können aneinander grenzen oder weit auseinander liegen und durch Gebiete getrennt sein, auf die die Benutzer seltener zoomen, wie etwa Wüsten oder Ozeane.
Das Caching basierend auf einem Interessengebiet oder einer Feature-Class ermöglicht Ihnen, Kacheln nur an den Positionen zu erstellen, an denen Sie diese benötigen, und leere oder irrelevante Bereiche auszuschließen. Hiermit fordern Sie an, dass die Serverwerkzeuge nur Kacheln erstellen, die diese Interessengebiete darstellen. Die verbleibenden Gebiete können bei Bedarf gecacht werden, wenn der Client dies anfordert. Durch dieses Verfahren sparen Sie Zeit und Speicherplatz, der sonst zum Erstellen überflüssiger Kacheln für Gebiete verwendet worden wäre, die Benutzer nicht besuchen.
Interessenbereiche können aus einem oder mehren Teilen bestehen und eine regelmäßige oder unregelmäßige Form haben.
Es gibt zwei Möglichkeiten, die Feature-Class festzulegen:
- Wenn Sie einen Service veröffentlichen oder zuerst einen Cache initialisieren, dann legen Sie den Parameter Zu cachender Interessenbereich auf der Registerkarte Caching > Erweiterte Einstellungen im Service-Editor fest. Wählen Sie in der Dropdownliste den Eintrag Aus Feature-Class importieren. Dieser Interessenbereich gilt nur dann, wenn Sie festgelegt haben, dass der Cache beim Veröffentlichen automatisch erstellt wird.
- Öffnen Sie das Werkzeug "Cache-Kacheln für Kartenserver verwalten" und stellen Sie den Parameter Interessenbereich ein. Mit dieser Einstellung wird jeder Interessenbereich überschrieben, den Sie im Service-Editor eingestellt haben.
Hinweis:
Wenn Sie das Werkzeug "Cache-Kacheln für Kartenserver verwalten" in ArcGIS Pro ausführen, können Sie auch einen Interessenbereich auf dem Bildschirm skizzieren. Dies ist für eine einmalige Ausführung des Werkzeugs, bei der Sie versuchen, fehlende Kacheln in einen bekannten Bereich des Cache zu patchen oder Coverage in einem gegebenen Bereich sicherzustellen, hilfreich. Bei den meisten strukturierten Caching-Jobs oder -Aktualisierungen wird allerdings empfohlen, dass Sie eine Feature-Class angeben.
In der folgenden Abbildung ist ein theoretisches Raster mit Kacheln zu sehen, die erstellt würden, wenn die Feature-Class nur den Staat Kalifornien enthielte. Mithilfe der Feature-Class können Sie die Erstellung nicht benötigter Kacheln im Ozean und in den benachbarten Staaten vermeiden. Diese nicht benötigten Kacheln wären eingeschlossen worden, wenn Sie die standardmäßige rechteckige Ausdehnung verwendet hätten.
Wenn Sie einen Cache auf Grundlage einer Punkt- oder Polylinien-Feature-Class erstellen oder aktualisieren möchten, müssen Sie zunächst die Features geringfügig puffern, um eine Polygon-Feature-Class zu erhalten. Außerdem sollten Sie die Puffer zusammenführen und generalisieren, bevor Sie sie als Interessenbereich verwenden.
Bei Verwendung des Weltmaßstabs oder von Maßstäben auf Länderebene werden relativ wenige Kacheln erstellt, sodass es kaum einen Unterschied macht, ob Sie basierend auf der Feature-Class cachen.
Vermeiden von On-the-fly-Projektion
Es wird empfohlen, dass Sie die Quelldaten in das gleiche Koordinatensystem wie die Karte und das Kachelschema projizieren, um On-the-fly-Projektion zu vermeiden.
Wenn Sie sich dafür entscheiden, die Projektion Ihrer Arbeitsdatenbank nicht zu ändern, empfiehlt es sich, ein unidirektionales Replikat Ihrer Produktionsdatenbank vorzubereiten, das nur dazu dient, den Cache zu erstellen und Benutzerabfragen zu verarbeiten.
Optimieren der Beschriftung
Beschriftung ist der Prozess der automatischen Erstellung und Platzierung beschreibender Texte für Features in Karten und Szenen. Eine Beschriftung ist ein Textsegment auf einer Karte, das dynamisch platziert und das aus einem oder mehreren Feature-Attributen abgeleitet wird. Das Berechnen der besten Positionen für Kartenbeschriftungen kann zeitraubend sein und das Erstellen von Kacheln verlangsamen.
Standardmäßig wird eine Label-Engine verwendet, um zu entscheiden, wo die Beschriftungen platziert werden. Die Dauer dieses Prozesses verlängert sich, je mehr Beschriftungen generiert werden.
Während eines Caching-Auftrags werden von ArcGIS jeweils große Flächen gezeichnet, um doppelte Beschriftungen zu vermeiden. Diese großen Flächen (Superkacheln) werden dann in einzelne kleinere Kacheln aufgeteilt. Eine Superkachel hat mit Antialiasing eine Größe von 2.048 x 2.048 Pixeln und ohne Antialiasing eine Größe von 4.096 x 4.096 Pixeln.
Innerhalb der Superkachel werden normalerweise keine doppelten Beschriftungen angezeigt, an den Grenzen derselben kann es jedoch zu Doppelungen kommen. Dies liegt daran, dass die Engine für die Beschriftungsplatzierung bei der Beschriftung einer Superkachel keine Kenntnis von Beschriftungen benachbarter Superkacheln hat. Tatsächlich wird von der Beschriftungs-Engine möglicherweise versucht, so viele Beschriftungen wie möglich in eine Superkachel aufzunehmen, sodass einige Beschriftungen in der Nähe des Randes platziert werden. Dasselbe kann bei der benachbarten Superkachel geschehen, wodurch sich doppelte Beschriftungen in der Nähe der Superkachelgrenzen ergeben.
Annotations-Layer
Mit Annotations-Layern können Sie doppelte Beschriftungen in einem Cache vermeiden. Annotationen stellen einen speziellen Layer dar, in dem jede Beschriftung als ein Feature mit Attributen behandelt wird. Die Attribute umfassen eine zugewiesene Position auf der Karte für jede Beschriftung. Sie können einen Annotations-Layer bearbeiten, um doppelte Beschriftungen zu entfernen.
Annotationen stellen die schnellste Möglichkeit für das Zeichnen von Beschriftungen beim Caching dar, da keine Entscheidungen bezüglich der Platzierung von Beschriftungen erforderlich sind. Jede Annotation verfügt über vorab festgelegte Koordinaten, die ein Attribut der Beschriftung sind. Weitere Informationen erhalten Sie unter Annotation.
Erstellen von Annotations-Layern für Karten-Caches
Annotations-Layer können sehr groß werden, daher kann die Erstellung von Annotationen für alle verschiedenen Maßstäbe der Karte eine echte Herausforderung sein. Zwei Werkzeuge im Toolset "Annotation" aus der Toolbox "Cartography" wurden konzipiert, um Sie bei der Erstellung von Annotationen für Karten-Caches zu unterstützen.
Das erste ist das Werkzeug Kachelschema des Kartenserver-Cache in Polygone. Dieses Werkzeug liest das Kachelschema eines Karten-Cache und erstellt Raster, die Superkachelgrenzen in jedem Maßstab des Kachelschemas darstellen. Diese Raster erleichtern die Unterteilung des Auftrags zum Erstellen von Annotationen in überschaubare Abschnitte.
Das zweite Werkzeug ist Gekachelte Beschriftungen in Annotation. Sie geben die erstellten Superkachel-Raster, ein Kartendokument und einen Ausgabe-Workspace an, und das Werkzeug erstellt Annotationen für jeden Maßstab im Cache. Die Annotationen werden für alle Layer mit aktivierter Beschriftung im Kartendokument erstellt.
Die von diesem Werkzeug erzeugte Annotation platziert die Beschriftung an derselben Position wie beim Erstellen eines Cache. Danach können Sie den Layer auf doppelte Beschriftungen überprüfen oder diese abrufen und löschen, bevor Sie den Cache erstellen. Alternativ können Sie den Annotations-Layer zwischen einzelnen Cache-Aktualisierungen manuell bereinigen, wenn Konflikte auftreten.
Bevor Sie die oben beschriebenen Werkzeuge für einen großen Bereich ausführen, empfiehlt es sich, sie mit einer einfachen Karte und einer kleinen Ausdehnung zu testen. Das Erstellen von Superkachel-Rastern und Zeichnen von Annotationen ist zeitintensiv, und Sie müssen sicherstellen, dass Sie die richtigen Parameter angegeben haben, wenn Sie die Werkzeuge mit einer großen Karte verwenden. In der Übungssitzung können Sie außerdem besser einschätzen, wie viel Zeit die Werkzeuge möglicherweise benötigen und wie viele Annotationen erstellt werden.
Maplex-Beschriftungen
Maplex bietet mehr Optionen, ist rechnerisch fortgeschrittener und platziert mehr Beschriftungen als die Standard-Label-Engine. Maplex liefert zwar gute Ergebnisse, verbraucht aber auch viel Speicherplatz und kann das Karten-Caching verlangsamen.
Vorsicht:
Bevor Sie mit Maplex einen vollständigen Cache erstellen, wird die Erstellung eines Test-Cache und die Untersuchung der Speicherauslastung des Systems während der Kachelerstellung empfohlen. Wenn bei diesem Prozess die Speicherauslastung die Kapazitäten Ihres Computers auszureizen droht, erwägen Sie, Maplex zu deaktivieren. Wenn Sie Maplex nicht deaktivieren, kann es ansonsten beim Erstellen der Kacheln zu instabilem Verhalten und Abstürzen kommen.
Um einen guten Kompromiss zwischen einer sauberen Beschriftungsplatzierung und einer hohen Performance zu erreichen, empfehlen wir, Beschriftungen im Kartendokument mit der Maplex-Label-Engine zu zeichnen, die Beschriftungen in Annotationen zu konvertieren und diese dann im Kartenservice zu verwenden.
Beibehalten von Beschriftungen in einem separaten Cache
Vektor-Features und damit verknüpfte Beschriftungen werden normalerweise demselben Cache hinzugefügt. Nur in seltenen Fällen gibt es einen Grund dafür, Benutzern das Deaktivieren von Beschriftungen zu erlauben. Falls erforderlich, ist es jedoch möglich, Beschriftungen und Features in separaten Caches zu isolieren.
Normalerweise sollten Beschriftungen nicht in Caches mit Bilddaten aufgenommen werden. Durch die Trennung von Beschriftungen und Bilddaten, können die Bilddaten in anderen Anwendungen erneut verwendet werden. Mehrere Bilddaten-Caches mit mehreren Beschriftungssätzen in den Kacheln nehmen insgesamt mehr Platz auf der Festplatte in Anspruch als ein Bilddaten-Cache mit mehreren Beschriftungsüberlagerungs-Caches.
Optimieren von Symbolisierung, Schriftarten und Antialiasing
In einigen Fällen können Sie die Inhalte Ihrer Karte durch angepasste Textsymbole oder Schriftarten ergänzen. Weitere Informationen finden Sie unter Textsymbole.
Damit Schriftarten in einem Web-Layer verwendet werden können, müssen sie auf dem mit dem Server verbundenen Computer vorhanden sein; falls sich die Schriftarten nicht auf dem Server befinden, müssen sie in die GIS-Ressource eingebettet werden können. Um zu überprüfen, ob eine Schrift eingebettet werden kann, zeigen Sie die Eigenschaften der Schrift in Microsoft Windows an.
Hinweis:
Beachten Sie, dass Typ-1-Schriftarten nicht für die Verwendung in Web-Layern eingebettet werden können. Typ-1-Schriftarten können auf dem Server installiert werden oder durch TrueType- oder OpenType-Schriftarten ersetzt werden. Das Fehlen von Schriftarten auf den Servercomputern kann dazu führen, dass bei der Ersetzung von Schriftarten zur Bestimmung der Symbolisierung unnötige Suchvorgänge durchgeführt werden und die Performance bei der Cache-Erstellung sinkt. Starten Sie alle Computer, die zur Server-Site gehören, neu, um sicherzustellen, dass der Prozess der Cache-Erstellung die neu installierten Schriftarten verwendet.
Antialiasing bezeichnet den Prozess der Glättung der Kanten von Linien und Beschriftungen, um ein pixeliges Aussehen zu vermeiden. Text-Antialiasing hat nur geringe Auswirkungen auf die Performance. Das Feature-Antialiasing ist jedoch ein viel rechenintensiverer Prozess, der das Caching verlangsamen kann.
Die Anwendung eines gewissen Maßes an Feature-Antialiasing verbessert in der Regel das Aussehen Ihrer Vektorkarte. Es ist jedoch wichtig zu bedenken, dass die Erstellung eines Cache durch jede Steigerung der Antialiasing-Qualität bedeutend mehr Zeit in Anspruch nimmt. Für die meisten Cachespeicher sind die Einstellungen Schnellstes oder Schnell geeignet. Es wird empfohlen, höhere Qualitätseinstellungen zu vermeiden, es sei denn, Ihre Test-Caches haben gezeigt, dass eine höhere Qualität erforderlich ist.
Überwachen von Systemressourcen während des Caching-Prozesses
Für eine möglichst schnelle Kachelerstellung sollte die CPU während des Vorgangs mit einer Leistung von annähernd 100 Prozent ausgeführt werden, jedoch nicht zu 100 Prozent ausgelastet sein. Da jede Karte unterschiedlich ist, müssen möglicherweise verschiedene Cache-Einstellungen getestet werden, bis diese Stufe der CPU-Nutzung erreicht wird. Weitere Informationen finden Sie unter Caching-Werkzeuge und Serverressourcen für das Caching.
Der Arbeitsspeicher Ihres Systems ist der andere Faktor, der die Performance bei der Cache-Erstellung bestimmt. Die Speicherressourcen auf den Servercomputern, die an der Cache-Erstellung beteiligten sind, sollten bei 60 Prozent liegen. Die Intensität der Auswirkung der Cache-Erstellung auf die Speichernutzung hängt von der Symbolisierung, der Beschriftung und der Anzahl der Features und Raster in Ihren Karten- oder Image-Services ab. Wenn die Speicherauslastung die Kapazitäten Ihres Computers auszureizen droht, kann es zu willkürlichen Abstürzen kommen, und Ihr Server reagiert möglicherweise nicht mehr.
Die Netzwerkbandbreite zu den Quelldaten und dem arcgiscache-Verzeichnis ist ein weiterer Kennwert, den Sie überwachen sollten. Beim Caching-Prozess werden Tausende Anforderungen zum Lesen der Quelldaten ausgegeben. Eine ausreichende Lesebandbreite zu den Quelldaten des zu cachenden Kartendokuments sorgt für eine schnellere Cache-Erstellung.
Bei der Cache-Erstellung schreibt jede Caching-Instanz Bundles in das für den Karten- oder Image-Service definierte Cache-Verzeichnis. Wenn das arcgiscache-Verzeichnis auf einem Dateisystem liegt, das auch die Verzeichnisse "arcgisjobs" oder "arcgisoutput" hostet, kann es zu Verlangsamungen kommen, wenn die Bandbreite überschritten wird.
Für den Cache Ihrer 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. Dies kann von Ihrer IT-Abteilung konfiguriert werden, um schnellere Lese- und Schreibzeiten zu gewährleisten.
Cache-Erstellung in Sites mit mehreren Computern
Sie können Ihren eigenständigen, Hosting- oder Verbundserver als Site mit mehreren Computern konfigurieren und die Ressourcen aller teilnehmenden Computer in der Server-Site nutzen, um Caches schneller zu erstellen.
Lokales Cache-Verzeichnis
Wenn Ihre ArcGIS Server-Site mehrere Computer umfasst und diese versuchen, zur gleichen Zeit Kacheln in ein freigegebenes Cache-Verzeichnis zu schreiben, wird die Skalierbarkeit beeinträchtigt. Aus diesem Grund verwendet der Server ein lokales Cache-Verzeichnis, um Kacheln vorübergehend auf die einzelnen ArcGIS Server-Computer zu schreiben.
ArcGIS Server verwendet standardmäßig lokale Cache-Verzeichnisse, wenn sich ein Cache auf einer Netzwerkfreigabe oder einem Cloud-Objektspeicher befindet. Jede Caching Service-Instanz schreibt eine Bundle-Datei (Sammlung von 1.634 Kacheln) in das lokale Cache-Verzeichnis. Wenn dieser Vorgang abgeschlossen ist, wird das Bundle in das freigegebene Cache-Verzeichnis im Dateisystem oder im Cloud-Objektspeicher verschoben. Wenn Bundles zunächst lokal geschrieben und anschließend in das freigegebene Cache-Verzeichnis verschoben werden, ist die Skalierbarkeit höher, als wenn die Bundles direkt von den Computern in das freigegebene Cache-Verzeichnis geschrieben werden.
Verwenden einer lokalen Kopie der File-Geodatabase
Der Caching-Prozess erfordert ein mehrfaches Lesen der Quellinhalte. Werden die Quelldaten an einem Netzwerkstandort aufbewahrt, kann dies zu einer Verlangsamung führen, wenn mehrere Computer gleichzeitig auf die Quelldaten zugreifen. Wenn diese Anforderungen die Computer nicht verlassen müssen, werden die Kacheln schneller gezeichnet. Wenn Sie also eine Kopie der Quell-GIS-Datasets auf Ihren Servern platzieren, erfolgt die Cache-Erstellung schneller und stabiler.
Szenen-Service-Cache und lokale Cache-Verzeichnisse
Das lokale Cache-Verzeichnis wird auch bei der Erstellung von Szenenkachel-Inhalten für Szenen-Services verwendet. Der Szenen-Cache wird im lokalen Cache-Verzeichnis erstellt, bevor er zur endgültigen Speicherung der Cache-Kacheln in den Kachel-Cache-Data Store verschoben wird. Diese temporären Dateien können drei- bis fünfmal so groß sein wie der endgültige Cache und werden nach Abschluss der Cache-Erstellung gelöscht.
Festlegen des Speicherorts für das lokale Cache-Verzeichnis
Das standardmäßige lokale Cache-Verzeichnis ist der temporäre Ordner für das ArcGIS Server-Konto. Dies kann mithilfe des ArcGIS-Server-Administratorverzeichnisses geändert werden.
Es wird empfohlen, dass Sie mindestens 0,5 GB des verfügbaren Speicherplatzes dieses Speicherorts für jede ausgeführte Instanz des CachingTools-Geoverarbeitungsservices haben, multipliziert mit der Anzahl der Computer Ihrer ArcGIS Server-Site. Mehr Speicherplatz ist möglicherweise für JPEG-Caches oder Caches mit gemischtem Format erforderlich, die eine hohe Komprimierungsqualität nutzen, oder für detaillierte PNG-Caches mit hoher Bittiefe.
Wie bereits im vorherigen Abschnitt erwähnt, muss beim Veröffentlichen des Szenenservice das lokale Cache-Verzeichnis über genügend Speicherplatz für die temporären Dateien verfügen, die beim Erstellen der Szenenservice-Caches erzeugt werden.
- Erstellen Sie auf jedem Computer der ArcGIS Server-Site ein Verzeichnis mit identischem Pfad. Stellen Sie sicher, dass das ArcGIS Server-Konto über Schreibzugriff auf diese Verzeichnisse verfügt.
- Öffnen Sie einen Webbrowser, und navigieren Sie zum ArcGIS-Server-Administratorverzeichnis. Die URL hat das Format http://gisserver.domain.com:6080/arcgis/admin.
- Melden Sie sich gegebenenfalls mit einem Benutzernamen und einem Kennwort an, das über administrativen Zugriff auf ArcGIS Server verfügt.
- Klicken Sie auf System > Eigenschaften > Aktualisierung.
- Fügen Sie im Textfeld eine localTempFolder-Eigenschaft hinzu, die auf Ihren Ordner zeigt. Beispiel: {"localTempFolder":"/data/temp"}
- Klicken Sie auf die Schaltfläche Aktualisieren.
- Verwenden Sie ArcGIS Server Manager oder das Fenster Katalog, um zum ArcGIS Server-Ordner namens System zu wechseln, und starten Sie die folgenden Services anschließend neu:
- Der Geoverarbeitungsservice CachingTools für Karten- und Image-Services
- Der Geoverarbeitungsservice SceneCachingTools für Szenenservices