Tipps zur Performance-Optimierung

Die Performance einer Webanwendung schließt sowohl die Geschwindigkeit, mit der die Anwendung auf Benutzeranfragen reagiert, als auch die Anzahl von Benutzern ein, die eine Anwendung aufnehmen kann. Wenn Sie über eine Performance-Verbesserung Ihrer ArcGIS Server-Webanwendungen nachdenken, fällt Ihnen als erstes wahrscheinlich das Hinzufügen oder Aktualisieren von Hardware ein. Möglicherweise gibt es aber noch andere Möglichkeiten, die Sie in der Anwendung, der Karte oder in den Servereinstellungen anpassen können, um die Performance der Webanwendungen zu steigern.

Entwerfen Sie die Karte für hohe Performance

Das Entwerfen von Karten für das Internet unterscheidet sich wesentlich vom Entwerfen von Papierkarten oder auch Karten, mit denen Sie häufig in Desktopanwendungen wie ArcMap arbeiten. Wenn Sie ein Kartendokument haben, das Sie häufig in ArcMap verwenden, möchten Sie vielleicht eine Kopie speichern, anstatt die Karte direkt auf ArcGIS Server zu veröffentlichen. Mit der Kopie können Sie Optimierungen spezielle für eine Anzeige im Internet vornehmen.

Wodurch unterscheiden sich Karten, die Sie im Internet anzeigen, von anderen Karten? Um eine optimale Performance der Karte über das Internet zu erzielen, wird empfohlen, die Werkzeugleiste Karten-Service-Publishing in ArcMap zu verwenden, um das Kartendokument zu überprüfen. Beheben Sie alle Fehler und so viele Warnungen wie möglich, und veröffentlichen Sie dann die Karte mithilfe der Werkzeugleiste. Auf diese Weise wird eine Karten-Service-Definitionsdatei (.msd bzw. MSD) als Grundlage für den Service verwendet; so können Sie den Service für die schnellste verfügbare Darstellung veröffentlichen.

Unabhängig davon, ob der Karten-Service auf MSD basiert oder nicht, sollten Sie dennoch in Erwägung ziehen, ihn aus Performance-Gründen zu cachen. Eine Karte zu cachen bedeutet, dass Sie einen Satz von vorab gerenderten Kartenbildern speichern erstellen, der von der Anwendung sehr schnell verwendet werden kann, sodass die Anwendung nicht jedes Mal darauf warten muss, bis die Karte gezeichnet wurde. Wenn Sie die Karte cachen, müssen Sie sie so entwerfen, dass sie bei allen Maßstäben, mit denen sie gecacht wird, ansprechend aussieht. Unter Planen eines Karten-Caches erhalten Sie Ideen hierfür.

Cachen Sie die Karten-Services

Gecachte Karten-Services verteilen vorab gezeichnete Kartenkacheln, anstatt on-the-fly Kartenbilder zu zeichnen. Durch gecachte Services kann nicht nur die Anzeigegeschwindigkeit der Karte verbessert, sondern auch die Anzahl von Benutzern, die der Server aufnehmen kann, deutlich erhöht werden. Für eine öffentliche Webanwendung sollten Sie immer den Grundkarten-Service cachen und versuchen, alle funktionsfähigen Überlagerungs-Services zu cachen, die gecacht werden können.

Ermitteln Sie das Bildformat, mit dem der Karten-Cache erstellt wurde

Das ausgewählte Bildformat hat Auswirkungen auf die Performance, die Darstellung und die Größe auf dem Datenträger. PNG 8 ist für viele MXD-basierte Überlagerungs-Services geeignet, PNG 32 ist dagegen die bessere Wahl für MSD-basierte Überlagerungs-Services. Für Grundkarten ist häufig JPEG die beste Auswahl, besonders dann, wenn die Karte viele Farbvariationen aufweist. Unter Verfügbare Karten-Cache-Eigenschaften erhalten Sie weitere Informationen zu den einzelnen Bildformaten.

Vermeiden Sie das Cachen von Karten-Services in PNG 24

In Internet Explorer 6 gibt es gewisse Einschränkungen im Hinblick auf die Transparenz für PNG 24-Bilder. Web ADF umfasst Code, durch den diese Einschränkung umgangen werden kann, bei diesem Szenario kann es jedoch zu Leistungseinbußen kommen. Vermeiden Sie dieses Szenario, indem Sie wie folgt vorgehen:

Verwenden Sie, wenn möglich, ArcGIS Server Internet-Verbindungen

Stellen Sie mithilfe der ArcGIS Server Internet-Verbindungen eine Verbindung mit dem Server her, um Serverkontextanforderungen effizienter zu verwenden. Lokale ArcGIS Server-Verbindungen sollten nur verwendet werden, wenn für die Anwendung das Ändern des Status des Services erforderlich ist, was eine Bearbeitung der Daten mit dem Web ADF einschließt.

Stellen Sie sicher, dass das Übersichtskarten-Steuerelement den statischen Modus verwendet

Wenn Sie das Gefühl haben, die durch die Übersichtskarte durch ständiges Ändern des Maßstabs und der Ausdehnung die Performance beeinträchtigt, öffnen Sie die Webanwendung in Visual Studio, und vergewissern Sie sich, dass die Eigenschaft StaticMode des Übersichtskarten-Steuerelements auf True festgelegt ist. Durch diese Einstellung wird verhindert, dass sich das OverviewMap-Bild ändert, wenn sich die Kartenausdehnung ändert.

Konfigurieren Sie das Inhaltsverzeichnis-Steuerelements zur Optimierung der Performance

Das Inhaltsverzeichnis-Steuerelement weist mehrere Optionen auf, über die Sie die Menge an Informationen reduzieren können, die vom Server angefordert werden.

Legen Sie die Eigenschaft Sichtbar für manche MapResourceItems auf False fest. Dies führt dazu, dass die Anwendung schneller gestartet wird. Beachten Sie jedoch, dass der Webseitenbenutzer die Layer manuell aktivieren muss.

Entfernen Sie unnötige Websteuerelemente.

Die standardmäßige Web Mapping-Anwendung, die Sie in Manager sehen, oder die IDE umfasst Websteuerelemente, z. B. TableOfContents, OverviewMap und Scalebar. Während Sie mit der Anwendung arbeiten, werden von diesen Steuerelementen neue Bilder und aktualisierte Statusinformationen angefordert. Durch Entfernen von selten verwendeten Steuerelementen aus der Anwendung kann die Performance der Anwendung und die Skalierbarkeit des Systems verbessert werden.

Konfigurieren Sie Web-Services so, dass ein Identitätswechsel pro Anforderung verhindert wird

Wenn Sie die Bereitstellungsumgebung vorbereiten, müssen Sie Änderungen vornehmen, um den Local Security Authority Subsystem Service (lsass.exe) nicht zu überlasten.

Wenn eine Anforderung an einen der Web-Services gestellt wird, muss sich der Webserver mit dem Server Object Manager (SOM) selbst authentifizieren. Dies geschieht über einen Identitätswechsel mit dem ArcGIS-Web-Services-Konto, das der Gruppe beim Ausführen der Postinstallation hinzugefügt wurde. Dieser Identitätswechsel verbraucht bei leichten Lasten nicht viel Arbeitsspeicher, unter schweren Lasten kann es jedoch vorkommen, dass der Prozess "lsass.exe" überlastet wird, was zu einem starken Leistungsabfall führen kann. 25 Anforderungen pro Sekunde oder mehr werden als schwere Lasten betrachtet.

Sie können diesen Identitätswechsel pro Anforderung verhindern, indem Sie die Web-Services so konfigurieren, dass sie in einem Anwendungspool ausgeführt werden, der unter der Identität des ArcGIS-Web-Services-Kontos ausgeführt wird. Dadurch wird die Last für den Prozess "lsass.exe" erleichtert, was letztendlich dazu führt, dass die Services schneller ausgeführt werden.

Die folgenden Esri Knowledge Base-Artikel enthalten zusätzliche Hintergrundinformationen zu dem Problem und erläutern, wie Anpassungen an der Konfiguration vorgenommen werden:

Verwenden Sie bewährte Programmiermethoden

Wenn Sie die Web Mapping-Anwendung in Microsoft Visual Studio anpassen oder eine eigene Anwendung von Grund auf neu erstellen, verwenden Sie die bewährten Programmiermethoden unter Optimizing performance in Web ADF applications in der Entwickler-Hilfe.

Vermeiden Sie unnötig große Abfragen

Standardmäßig ist in den ArcGIS Server-Karten-Services die Anzahl der Datensätze, die von einer Abfrage zurückgegeben werden können, auf 1.000 Datensätze beschränkt. Behalten Sie diesen Wert bei, oder setzen Sie ihn für eine optimale Performance bei Abfragen herab. Sie können die Anzahl der zulässigen Ergebnisdatensätze ändern, indem Sie die Eigenschaft MaxRecordCount in der Karten-Service-Konfigurationsdatei bearbeiten.

Seien Sie vorsichtig, wenn Sie den Standardwert erhöhen. Abfragen, die mehr als 2.000 Datensätze zurückgeben, erfordern, dass die Software Scratch-Workspaces im TEMP-Systemverzeichnis zum Verwalten von Ergebnisdatensätze erstellt. Dadurch kann die Performance beeinträchtigt werden.

Verwenden Sie lokale Pfade

Bei Verwendung von lokalen Pfaden zu Quellkarten und -daten ist die Performance in der Regel besser als bei Verwendung von UNC-Pfaden (Universal Naming Convention). Wenn Sie lokale Pfade verwenden und mehr als einen SOC-Computer (Server Objekt Container) in der Bereitstellung haben, müssen Sie die Daten in jedem Computer mit identischen Pfaden duplizieren.

Hilfe dazu, ob ein zentraler ArcSDE-Server oder lokale Datei-Geodatabases verwenden werden soll, finden Sie unter Überlegungen zur Datenspeicherung mit ArcGIS Server.


3/6/2012