Der Vorteil von ArcGIS Server liegt darin, dass GIS-Funktionen vielen Benutzern an den verschiedensten Orten zur Verfügung gestellt werden. Ermitteln Sie bei der Planung von ArcGIS Server, wie viele Benutzer das System verwenden werden und welche Hardware zur Unterstützung dieser Anzahl von Benutzern erforderlich ist. Sie sollten bei Ihren Entscheidungen auch andere Faktoren berücksichtigen, z. B. ob Lastspitzen auftreten. Wenn nicht die Möglichkeit besteht, weitere Hardware hinzuzufügen, kann möglicherweise eine größere Anzahl von Benutzern bedient werden, indem die Service-Konfigurationen angepasst wird.
Anpassen der Anzahl von Computern in einer Site
Eine ArcGIS Server-Site ist ein Verbund aus einem oder mehreren Computern, die zu gleichen Bedingungen zusammenarbeiten. Bei hoher Arbeitsauslastung sind die CPU-Ressourcen eines ArcGIS Server-Computers im Allgemeinen schneller voll ausgelastet als bei einem Webserver. Daher ist die Entscheidung, wie viele ArcGIS Server-Computer bereitgestellt werden, für die Versorgung der Benutzer wichtig.
Sobald das System in Betrieb ist, können Sie anhand der Protokolle und der Serverstatistiken die Performance des Servers beurteilen. Außerdem können Sie mithilfe von Werkzeugen des Betriebssystems, z. B. des Windows-Systemmonitors, die Auslastung des Systems beim Verarbeiten von Anforderungen beurteilen. Weiterhin sind Werkzeuge und Services von Drittanbietern verfügbar, mit denen Sie die System-Performance überwachen können. Der Web-Service Amazon CloudWatch kann beispielsweise auf der Plattform Amazon EC2 zum Überwachen der System-Performance in einer Cloud-Umgebung verwendet werden.
Wenn Sie feststellen, dass das Zeitlimit für normale Anforderungen an ArcGIS Server bei Lastspitzen im System überschritten wird und sich die CPU-Auslastung über längere Zeit 100 Prozent nähert, könnte das System von zusätzlichen Computern auf der ArcGIS Server-Ebene profitieren. Fügen Sie die neuen Computer manuell oder über einen automatisierten Prozess mit virtuellen Computern hinzu. Beispielsweise können Sie ein Skript erstellen, mit dem ein neuer ArcGIS Server-Computer hinzugefügt wird, wenn die CPU länger als 15 Minuten eine Auslastung von 70 Prozent überschreitet.
Manche Prozeduren, etwa das Karten-Caching oder die Geoverarbeitung, können einen relativ großen Teil der CPU-Ressourcen verbrauchen. Wenn Sie im Voraus wissen, wann entsprechende Aufträge ausgeführt werden, können Sie weitere ArcGIS Server-Computer temporär hinzufügen und diese nach Abschluss des Auftrags entfernen. Für solche Szenarien eignen sich virtuelle Computer und Cloud-Computerplattformen, da die zusätzliche Hardware schnell angefordert und nach der Verwendung sofort wieder freigegeben werden kann.
Informationen zu Service-Instanzen
Wenn in der ArcGIS Server-Site z. B. die Service-Anforderung eingeht, eine Karte zu schwenken oder zu einer Adresse zu navigieren, wird sie von einer Instanz des veröffentlichten Services verarbeitet, die auf einem Servercomputer ausgeführt wird. Service-Instanzen werden von proprietären Esri Serverprozessen – den ArcSOC-Prozessen – unterstützt. Für die Ausführung des jeweiligen ArcSOC-Prozesses wird eine bestimmte Menge an Computerspeicher benötigt.
Geteilte Instanzen werden für Services empfohlen, die nur selten Anforderungen empfangen, vor allem dann, wenn die Server-Site viele Services hostet. Dedizierte Instanzen sorgen hingegen dafür, dass ein Service für die Verarbeitung von Anforderungen ständig verfügbar ist, indem ein oder mehrere Serverprozesse verwendet werden. Sie eignen sich deshalb ideal für Services, die konstante oder besonders rechenintensive Anfragen empfangen.
Der Pool für geteilte Instanzen ist für die folgenden kompatiblen Kartenservices geeignet:
- Selten genutzte Services. Dies hängt von der Bereitstellung ab, in der Regel jedoch bedeutet dies im Durchschnitt weniger als eine Service-Anforderung pro Minute.
- Services, für die Sie bereits die minimale Anzahl an dedizierten Instanzen auf Null gesetzt haben
- Die meisten gecachten Kartenservices
Vorversion:
Vor Version 10.8.1 konnten Services mit Serverobjekterweiterungen (SOEs) oder Serverobjekt-Interceptoren (SOIs) den Pool für geteilte Instanzen nicht verwenden.
Der ArcGIS Server ermöglicht die Verwendung von sowohl geteilten als auch dedizierten Instanzen für den jeweiligen kompatiblen Kartenservice, der über ArcGIS Pro in einer ArcGIS Server-Site veröffentlicht wird. Durch die Verwendung freigegebener Instanzen verringert sich die Speicherauslastung, da mehrere aktive Serverprozesse zur Verwendung durch mehrere Services gepoolt werden. Dadurch wird der Speicherverbrauch von Services, die keine Anforderungen aktiv verarbeiten, reduziert.
Auswählen eines Instanztyps
Geteilte Instanzen werden für Services empfohlen, die nur selten Anforderungen empfangen, vor allem dann, wenn die Server-Site viele Services hostet. Dedizierte Instanzen sorgen hingegen dafür, dass ein Service für die Verarbeitung von Anforderungen ständig verfügbar ist, indem ein oder mehrere Serverprozesse verwendet werden. Sie eignen sich deshalb ideal für Services, die konstante oder besonders rechenintensive Anfragen empfangen.
Administratoren können jederzeit sowohl einen Standard-Instanztyp auswählen (festlegen, ob kompatible Kartenservices zunächst geteilte oder dedizierte Instanzen verwenden sollen) als auch den Instanztyp eines einzelnen Service ändern. Machen Sie diese Entscheidungen vom Datenaufkommen abhängig, entweder um dem aktuellen Datenverkehr zu entsprechen oder um auf erwartete Änderungen im Datenaufkommen vorbereitet zu sein.
Nicht alle Services können den Pool für geteilte Instanzen verwenden. Hierbei gelten die folgenden Beschränkungen:
- Nur in ArcGIS Pro veröffentlichte Kartenservices können für die Verwendung des Pools für geteilte Instanzen konfiguriert werden. Andere Service-Typen, wie etwa Geoverarbeitungsservices, werden nicht unterstützt.
- Nur bestimmte Funktionen von Kartenservices – Feature Access, WFS, WMS und KML – können aktiviert werden. Deaktivieren Sie alle anderen Funktionen, bevor Sie fortfahren.
- In ArcMap veröffentlichte Services können keine geteilten Instanzen verwenden.
- In ArcGIS Pro veröffentlichte gecachte Kartenservices, die die oben genannten Anforderungen erfüllen, können geteilte Instanzen verwenden.
Der Pool für geteilte Instanzen ist für die folgenden kompatiblen Kartenservices geeignet:
- Selten genutzte Services. Dies hängt von der Bereitstellung ab, in der Regel jedoch bedeutet dies im Durchschnitt weniger als eine Service-Anforderung pro Minute.
- Services, für die Sie bereits die minimale Anzahl an dedizierten Instanzen auf Null gesetzt haben
- Die meisten gecachten Kartenservices
Anpassen von Pools für dedizierte Instanzen
Wenn ein Service dedizierte Instanzen verwendet, können Sie die minimale und maximale Anzahl an Instanzen anpassen, die pro Computer zulässig sind. Mithilfe dieser Parameter können die Services Ihrer Site besser auf Schwankungen im Datenaufkommen abgestimmt werden.
Die Eigenschaft "Maximale Anzahl Instanzen" legt die Höchstzahl der Instanzen des jeweiligen Service fest, die auf einem einzelnen ArcGIS Server-Computer ausgeführt werden können. Als Administrator sollten Sie zu bestimmen versuchen, wie viele Instanzen einer Service-Konfiguration den erwarteten Benutzerbedarf unter Wahrung eines akzeptablen Leistungsniveaus zufriedenstellen kann. Dies ist eine kombinierte Bewertung der durchschnittlichen Nutzungsdauer eines Service durch einen Client, der erwarteten Anzahl von Clients, der Häufigkeit von Clientanforderungen und der erforderlichen Verarbeitungs-Performance pro Anforderung.
Die Anzahl der Instanzen, die in einer Service-Konfiguration erforderlich sind, lässt sich am besten durch die Überwachung des Servers über einen längeren Zeitraum ermitteln. Wenn die Wartezeiten der Clients zu lang sind oder bei der Verarbeitung der Anforderungen die Wartezeit überschritten wird, müssen Sie möglicherweise die Anzahl der verfügbaren Instanzen oder die Art und Weise, wie Anwendungen diese Instanzen nutzen, anpassen. Wenn Sie die Anzahl der Instanzen ermittelt haben, die die Clients unterstützen sollen, teilen Sie diese durch die Anzahl der ArcGIS Server-Computer in der Bereitstellung und legen die Höchstzahl der Instanzen für die Service-Konfiguration auf das Ergebnis fest. Wenn Sie beispielsweise maximal zehn Instanzen eines Service für die gleichzeitige Verarbeitung der Anforderungen benötigen und zwei ArcGIS Server-Computer verfügbar sind, legen Sie die Höchstzahl der Instanzen auf fünf fest.
Die Eigenschaft "Minimale Anzahl Instanzen" stellt die Anzahl dedizierter Instanzen dar, die bereits erstellt wurden und für einen Service zur Verwendung auf den einzelnen ArcGIS Server-Computern verfügbar sind. Wenn Sie bezweifeln, dass ein Service von vielen Benutzer gleichzeitig verwendet werden wird, sollten Sie eine Reduzierung der Mindestanzahl von Instanzen in Erwägung ziehen.
Sie können das Minimum sogar auf 0 (Null) Instanzen festlegen. Dies führt jedoch zu einer kurzen Verzögerung in der Verarbeitung, wenn ein Service ohne aktive Instanzen die nächste Anforderung erhält. Diese zeitliche Verzögerung wird als "Kaltstart" bezeichnet.
Berücksichtigen Sie außerdem, wie lange die Benutzer jeweils die Services verwenden. Einige Anforderungen an den Server sind arbeitsintensiver als andere. Eine große Anzahl von einfachen Service-Anforderungen kann den Server möglicherweise nicht so in die Knie zwingen wie eine kleinere Anzahl von arbeitsintensiven Anforderungen. Jeder Service verfügt über eine Eigenschaft zur Festlegung der maximalen Wartezeit und eine Eigenschaft zur Festlegung der maximalen Verwendungszeit. Wenn die Wartezeit von Service-Anforderungen der Benutzer immer wieder überschritten wird, sollten Sie in Betracht ziehen, die maximale Wartezeit oder die Anzahl der verfügbaren Instanzen des Service zu erhöhen.
Ermitteln Sie anhand der Protokolle und der Serverstatistiken, ob zu viele Anforderungen Wartezeitüberschreitungen verursachen und ob Services über ihre maximale Verwendungszeit hinaus verwendet werden. Passen Sie über Server Manager die Anzahl der verfügbaren Service-Instanzen und die maximale Warte- und Verwendungszeit für einen Service an.