Skip To Content

Verbessern der Darstellungs-Performance von Kartenservices

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. Dieses Verhalten unterstützt den ArcGIS Server-Server dabei, die beste Darstellungs-Performance für Ihren Kartenservice zu erzielen. Abhängig davon, wie der Kartenservice 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. Dies können Sie erreichen, indem Sie der JavaScript Object Notation (JSON) des Service eine Eigenschaft mit dem Namen cacheControlMaxAge hinzufügen.

Verwendung der cacheControlMaxAge-Eigenschaft

ArcGIS Server-Kartenservice-Antworten enthalten ein Entitätstag (ETag) und einen Cache-Control-Header. Der ETag-Header-Wert ist eine eindeutige Kennung der Antwort. Der Cache-Control-Header verfügt über einen max-age-Wert, der Informationen zum Browser bezüglich des maximalen Zeitraums, den eine Antwort aus dem Browser-Cache wiederverwendet werden kann. Dieser Wert wird von der Eigenschaft cacheControlMaxAge festgelegt.

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. Der 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.

Definieren des Wertes der cacheControlMaxAge-Eigenschaft

Als ArcGIS Server-Administrator können Sie die cacheControlMaxAge-Eigenschaft definieren, um anzugeben, wie lange ein Browser eine gecachte Antwort verwenden darf. Da ArcGIS Server nicht immer eine vollständige Antwort senden muss, kann der Browser-Cache effizienter verwendet werden, Ihre Anwendungen werden optimiert, und es wird Netzwerkbandbreite gespart.

Der Standardwert für Kartenservices ist 0. Demzufolge sendet der Browser eine Anforderung immer erneut, und ArcGIS Server verarbeitet die Anforderung und sendet eine vollständige Antwort an den Browser, wenn sich der Inhalt geändert hat. Dieser Wert eignet sich für die meisten Anwendungen.

Für Kartenservices mit regelmäßig wechselnden Datasets oder regelmäßig wechselnder Symbolisierung empfiehlt sich ein Wert von etwa 5 Minuten (300 Sekunden). In Anwendungen mit Animationen oder Zeitdaten sollten Sie den Wert hochsetzen, um eine reibungslosere Animation in der Anwendung zu ermöglichen.

Gehen Sie wie folgt vor, um die cacheControlMaxAge-Eigenschaft zu Ihrem Service hinzuzufügen und ihren Standardwert anzugeben:

  1. Öffnen Sie in einem Web-Browser das ArcGIS Server-Administratorverzeichnis, und melden Sie sich mit einem Benutzernamen an, dem Administratorberechtigungen zugewiesen sind.

    Die URL hat das Format http://gisserver.domain.com:6080/arcgis/admin.

  2. Klicken Sie auf Services, und wählen Sie den Kartenservice, 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.
  3. Führen Sie auf der Seite Service - <Service-Name> (<service type>) einen Bildlauf bis zum unteren Rand aus, und klicken Sie auf edit.
  4. Suchen Sie im Dialogfeld Service-Eigenschaften den Abschnitt "properties" des Service-JSON.
  5. Fügen Sie dem Abschnitt die cacheControlMaxAge-Eigenschaft hinzu, und geben Sie den Wert (in Sekunden) ein. Beispiel:
    "properties": {
      "cacheControlMaxAge": "300",
  6. Klicken Sie auf Save Edits.

Stellen Sie auf der Seite Service - <Service-Name> (<Service-Typ>) sicher, dass die cacheControlMaxAge-Eigenschaft und der Wert, den Sie dafür angegeben haben, im Abschnitt Eigenschaften angezeigt werden.