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. Vermeiden Sie dieses Szenario, indem Sie wie folgt vorgehen:
- Cachen Sie die Karten-Services im PNG 8, PNG 32- oder JPEG-Format, wenn Internet Explorer 6 verwendet werden muss.
- Verwenden Sie einen anderen Browser als Internet Explorer 6, um überlagerte Karten-Services anzuzeigen, die im PNG 24-Format gecacht wurden.
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.
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.
Stellen Sie die Webanwendungen auf einem für eine Produktionsumgebung geeigneten Webserver bereit
Um ein optimales Leistungsverhalten zu erzielen, wird empfohlen, dass Sie die Webanwendungen sowie die REST und Web-Services-Handler auf einem für eine Produktionsumgebung geeigneten Webserver bereitstellen. Die intern von ArcGIS Server verwendeten Webserver sind nicht für die Verwendung in einer Produktionsumgebung vorgesehen. In den Systemanforderungen finden Sie eine vollständige Liste unterstützter Server. Zu den gängigen Webservern gehören IBM WebSphere, BEA Weblogic usw.
Es wird auch empfohlen, dass Sie unter Verwendung der JVM-Flags -Xms und -Xmx eine geeignete Heap-Größe für die JVM des Webservers konfigurieren. Dadurch wird die Skalierbarkeit der Webanwendungen stark verbessert. Wenn Sie beispielsweise von einer ursprünglichen Heap-Größe von 256 MB ausgehen und mit den JVM-Optionen -Xms256m–-Xmx1024m zur Maximalgröße von 1 GB aufstocken, ist dies normalerweise ausreichend. Konsultieren Sie die Dokumentation des Webservers, um nähere Informationen zum Konfigurieren der Heap-Größe zu erhalten.
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.