Der ArcGIS Server ermöglicht die Verwendung von sowohl geteilten als auch dedizierten Instanzen für den jeweiligen kompatiblen Kartenservice, der über ArcGIS Server in einer ArcGIS Pro-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.
Vorversion:
Vor Version 10.7 verwendeten alle Services das Modell, das nun als dedizierte Instanzen bezeichnet wird.
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.
In diesem Thema werden Service-Instanzen und -Prozesse erläutert, Best Practices für geteilte und dedizierte Instanzen beschrieben sowie Anweisungen zum Einrichten von Service-Instanz-Einstellungen bereitgestellt.
Einführung in 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.
Wenn die ArcGIS Server-Site viele Services enthält und jeder Service eine oder mehrere Service-Instanzen verwendet, die ständig ausgeführt werden, hat der verfügbare Computerspeicher möglicherweise irgendwann seine Grenzen erreicht. Für die Ausführung der Service-Instanzen entstehen Ihrer Organisation außerdem Energiekosten. Wenn Sie den ArcGIS Server in einer Cloud-Infrastruktur bereitstellen, fallen zudem direkte finanzielle Kosten für jede ausgeführte Service-Instanz an.
Aus diesem Grund ist es wichtig, dass ArcGIS Server-Administratoren die Anzahl der in der Site ausgeführten Instanzen überwachen und diese begrenzen, wenn die Performance durch die Speicherauslastung beeinträchtigt wird.
Benutzer erwarten schnelle Ergebnisse, wenn sie mit Services (einschließlich Produkten, die auf Basis von Services entwickelt wurden, wie z. B. Webkarten und Apps) interagieren. Für die Verarbeitung des Datenverkehrs, der an die Services gesendet wird, sind entsprechende ArcSOC-Prozesse erforderlich. Durch die Bereitstellung von mehr Serverressourcen als ein Service benötigt werden jedoch unnötig viel Computerspeicher, Energie und finanzielle Mittel verbraucht. Deshalb sollten Administratoren immer zum Ziel haben, die ausgeführten Service-Instanzen auf die tatsächlich erforderliche Anzahl zu reduzieren, ohne dass dies zu Lasten der Performance geht.
Weitere Informationen zu aktiven Managementstrategien zur Optimierung der ArcGIS Server-Performance finden Sie unter Planen und Berücksichtigen von Benutzern.
Hinweis:
Sie können ArcSOC-Prozesse in Ihrer Umgebung untersuchen, um zu ermitteln, welche ArcSOC-Prozesse für die einzelnen serverbasierten Services Ihres ArcGIS Server-Computers ausgeführt werden.
Sie können den Befehl ps -ef | grep arcsoc auf Ihrem Linux-Computer ausführen und für jeden Prozess den Parameter -Dservice= prüfen, um den Namen eines Service, der mit einem ArcSOC-Prozess verknüpft ist, herauszufinden.
Minimale und maximale Anzahl an Service-Instanzen
Für jeden in der ArcGIS Server-Site veröffentlichten Service, der geteilte Instanzen verwendet, können Sie in ArcGIS Server Manager eine minimale und eine maximale Anzahl an dedizierten Instanzen festlegen, die für den Service ausgeführt werden können. Wenn Sie diesen Parameter beispielsweise auf drei Instanzen festlegen, werden immer mindestens drei Instanzen für ArcSOC-Prozesse ausgeführt, auch dann, wenn der Service nicht verwendet wird.
Wenn Sie die minimale Anzahl an Instanzen auf Null festlegen, werden für den Service nur dann Instanzen ausgeführt, wenn dieser auch verwendet wird. Dadurch verringert sich die Speicherauslastung, da nicht verwendete Services abgeschaltet werden. Dies hat jedoch den Nachteil, dass es zu einer verzögerten Reaktion kommt, wenn ein Benutzer das nächste Mal eine Anforderung an den Service sendet. Der Kaltstart, den der ArcGIS Server beim Hochfahren einer Instanz zur Verarbeitung der Service-Anforderung initialisiert, ist möglicherweise für den Benutzer wahrnehmbar.
Geteilte oder dedizierte Instanzen
Auf jedem Computer Ihrer Site wird ein Pool für geteilte Instanzen ausgeführt, wenn Services für dessen Verwendung konfiguriert sind. Für Services, die auf den Pool für geteilte Instanzen zurückgreifen, fallen keine weiteren Kosten für die Ressourcenverwendung an, sofern sie keine Anforderungen verarbeiten, und es entstehen auch keine durch einen Kaltstart bedingten Nachteile.
Tipp:
Um zu ermitteln, in welcher Anwendung ein Kartenservice veröffentlicht wurde, siehe Schritt 3 in Abschnitt "Konfigurieren des Instanztyps für einen Service".
Die folgenden Beschränkungen begrenzen, welche Services den Pool für geteilte Instanzen verwenden dürfen:
- 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 ArcGIS Pro veröffentlichte gecachte Kartenservices, die die oben genannten Anforderungen erfüllen, können geteilte Instanzen verwenden.
Vorversion:
Vor Version 10.8.1 konnten Services mit Serverobjekterweiterungen (SOEs) oder Serverobjekt-Interceptoren (SOIs) den Pool für geteilte Instanzen nicht verwenden.
Geteilte Instanzen unterscheiden sich von dedizierten Instanzen, welche nur solange für einen bestimmten Service ausgeführt werden, bis diese heruntergefahren werden. Dedizierte Instanzen stellen nach wie vor eine gute Option für Administratoren dar, insbesondere wenn sie Services mit hohem Datenverkehr bereitstellen. Denn zum einen wird die optimale Performance durch die Bereitstellung dedizierter Serverressourcen für diese Services gewährleistet, und zum andern wird verhindert, dass Services mit hohem Datenverkehr alle Prozesse im Pool nutzen.
Hinweis:
Wenn Sie für ArcGIS Server ein Upgrade von Version 10.6.1 oder früher auf Version 11.3 durchführen, bleiben die Einstellungen für die minimale Anzahl an Instanzen für Services unverändert, und ein Standardpool mit ArcSOC-Prozessen für geteilte Instanzen wird reserviert. Wenn Sie geteilte Instanzen für einige oder alle Services konfigurieren möchten, ist dies nach dem Upgrade möglich.
Verwenden der jeweiligen Instanztypen
Die beiden Instanztypen sind für die jeweiligen Kartenservices unterschiedlich gut geeignet. Als Server-Site-Administrator können Sie entscheiden, welchen Instanzpool der jeweilige in der Site veröffentlichte Service verwenden soll.
Sie können freigegebene Instanzen für einige bestimmte Services konfigurieren und gleichzeitig anderen Services ihre eigenen ArcSOC-Prozesse zuweisen. Eine solche geteilte Konfiguration ist möglicherweise eine Option, wenn Sie wissen, dass einige Services kontinuierliche Anforderungen empfangen, andere wiederum weniger häufig genutzt werden. Wenn alle Services nur gelegentlich Anforderungen empfangen, ist die Konfiguration von geteilten Instanzen für alle Services zu empfehlen, um die Speicherauslastung zu verringern.
Tipp:
Die Verwendungsmuster ändern sich häufig. Sie können bei der Überwachung der Site die Einstellungen für den Instanztyp basierend auf Datenverkehr und Server-Performance bei Bedarf anpassen.
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
Der Pool für dedizierte Instanzen stellt hingegen die beste Option für die folgenden Services dar:
- Services, die Sie im Rahmen einer Service-Level-Vereinbarung anbieten
- Services, die intensiv genutzt werden (mit nahezu konstanten oder rechenintensiven Anforderungen)
- Services, für die Sie die minimale Anzahl an dedizierten Instanzen auf einen hohen Wert gesetzt haben
- Alle Services, die nicht mit dem Pool für geteilte Instanzen kompatibel sind (wie oben definiert)
Konfigurieren des Pools für geteilte Instanzen
Mithilfe von Server Manager können Administratoren die Einstellungen für den Pool für geteilte Instanzen auf ihrer Site konfigurieren. Die verfügbaren Einstellungen betreffen die Anzahl geteilter Instanzen pro Computer und die Cache-Größe pro geteilter Instanz.
Wenn eine neue Installation von ArcGIS Server11.3 zum ersten Mal einen kompatiblen Kartenservice hostet, der den Pool für geteilte Instanzen verwendet, wird auf der Site die Ausführung geteilter Instanzen gestartet. Standardmäßig ist für die Anzahl geteilter Instanzen im Pool ein Wert festgelegt, der auf der Anzahl physischer CPU-Kerne der einzelnen Computer basiert.
Wenn die meisten oder alle Services Ihrer Site den Pool für geteilte Instanzen verwenden, empfiehlt es sich, die Anzahl der Service-Instanzen im Pool auf das Doppelte der Anzahl physischer CPU-Kerne der einzelnen Computer Ihrer ArcGIS Server-Site festzulegen (wenn Sie also zum Beispiel Computer mit 4 Kernen verwenden, sollten Sie für die Pool-Größe acht Instanzen festlegen).
Hinweis:
Wenn Sie Hyperthreading, vCPUs oder logische Kerne verwenden (zum Beispiel, wenn sich Ihre Site in einer virtuellen oder Cloud-Umgebung befindet), legen Sie für jeden logischen Kern die Hälfte eines physischen Kerns zugrunde.
Wenn Sie möchten, dass innerhalb von Server-Sites, bei denen viele Services dedizierte Instanzen verwenden, diesen Services mehr Systemressourcen zugewiesen werden, können Sie unter Umständen die Größe des Pools für geteilte Instanzen verringern. Die Anzahl geteilter Instanzen im Pool sollte nicht geringer sein als die Anzahl physischer CPU-Kerne Ihres Computers, es sei denn, der Pool wird von keinem Service verwendet. Wenn es innerhalb Ihrer Site keine Services gibt, die geteilte Instanzen verwenden, können Sie die Anzahl der Instanzen pro Computer auf 0 (Null) festlegen.
Jede Instanz in einem geteilten Pool speichert Informationen über die Services, die Anforderungen empfangen haben, im Cache, da hierdurch die Performance bei nachfolgenden Anforderungen an dieselben Services verbessert wird. Jeder Service, der gecacht wird, beansprucht eine geringe Menge an Arbeitsspeicher.
Mit der Einstellung für die Cache-Größe wird gesteuert, wie viele Services von den einzelnen Instanzen innerhalb des Pools für geteilte Instanzen gecacht werden. Sofern Sie nicht über einen großen Arbeitsspeicher und zahlreiche Services verfügen, die alle regelmäßig Anforderungen empfangen, empfiehlt es sich, dass Sie den Standardwert von 50 gecachten Services pro Instanz beibehalten.
Sie sollten den Wert für die Cache-Größe ggf. erhöhen, wenn Sie mehr als 50 Services haben, die regelmäßig Anforderungen empfangen, wenn Performance-Probleme auftreten und wenn Ihr verfügbarer Arbeitsspeicher für diesen Zweck ausreicht.
Betrachten Sie diese Vorschläge als Ausgangspunkt. Stellen Sie mittels Überwachung Ihrer ArcGIS Server-Site sicher, dass Sie die verfügbaren Ressourcen bestmöglich ausnutzen und die Site nicht durch übermäßigen Datenverkehr überlastet wird. Die optimale Anzahl der Instanzen im Pool und die optimale Cache-Größe für die Instanzen hängen von der Menge des Datenverkehrs im freigegebenen Pool, der Menge und der Art der bereitgestellten Daten und der Menge der verfügbaren Computerressourcen ab.
Führen Sie die folgenden Schritte aus, um die Anzahl der Instanzen im Pool für geteilte Instanzen und deren Cache-Größe festzulegen.
- Melden Sie sich bei ArcGIS Server Manager als Administrator an. Die URL hat das Format https://webadaptor.domain.com/arcgis/manager.
- Navigieren Sie zu Site > Einstellungen. Über die Seite Pooling können Sie auf diese Einstellungen zugreifen.
- Klicken Sie auf die Schaltfläche "Bearbeiten" für Einstellungen für geteilte Instanzen.
- Ändern Sie im Dialogfeld die Werte für Anzahl geteilter Instanzen pro Computer und Cache-Größe pro geteilter Instanz entsprechend Ihren Anforderungen.
- Klicken Sie auf Übernehmen, um Ihre Auswahl zu bestätigen.
Ändern der Einstellung für die Schemasperre
In einigen Organisationen, die nach strengen Service-Level-Vereinbarungen (SLAs) arbeiten, müssen Schemaänderungen vorgenommen werden, während der Kartenservice gleichzeitig aufrufbar bleibt. Um die Zeit zu minimieren, die ein Kartenservice nicht ausgeführt wird, können Sie Schemasperren für den Kartenservice deaktivieren. Dann können Sie das Schema des referenzierten Datasets ändern, ohne den Kartenservice zu beenden.
Beachten Sie Folgendes, bevor Sie Schemasperren deaktivieren:
- Wenn Schemasperren deaktiviert sind, sollten Sie ein Schema nur aktualisieren, wenn sich ein Service im Leerlauf befindet. Wenn Sie das Schema bei ausgelastetem Service aktualisieren, erleben Benutzer des Kartenservice unter Umständen ein unerwartetes Verhalten, z. B. fehlende Layer und Felder, fehlschlagende Abfragen und nicht verfügbare Services.
- Zum Ändern der Einstellung für Schemasperren müssen Sie den Service neu starten. Damit Änderungen widergespiegelt werden, wenn Sie Schemasperren für den Service deaktivieren, müssen Sie den Kartenservice zudem entweder neu starten, nachdem Schemaänderungen abgeschlossen wurden, die die Definition vorhandener Felder ändern, oder den Kartenservice überschreiben, falls Sie ein Feld hinzugefügt oder gelöscht haben.
- Die Deaktivierung von Schemasperren betrifft alle Services mit geteilten Instanzen.
Führen Sie die folgenden Schritte aus, um Schemaänderungen zuzulassen, während ein Kartenservice ausgeführt wird:
- Melden Sie sich bei ArcGIS Server Manager an.
- Klicken Sie auf Site > Einstellungen > Pooling.
- Klicken Sie auf Bearbeiten, um die Einstellungen für geteilte Instanzen zu bearbeiten.
- Klicken Sie auf Parameter.
- Deaktivieren Sie Datenbankschema sperren.
Hinweis:
Datenbankschema für geteilte Instanzen sperren ist standardmäßig aktiviert.
- Klicken Sie auf Übernehmen.
Konfigurieren von Standard-Service-Instanz-Einstellungen
Administratoren können eine Standardinstanztyp-Einstellung für kompatible, in ArcGIS Pro veröffentlichte Kartenservices festlegen. Bei Veröffentlichung eines solchen Services auf dem Server wird der Standardinstanztyp verwendet. Sie können den Instanztyp für die einzelnen Services mit den im nächsten Abschnitt beschriebenen Schritten ändern.
Die ursprüngliche Einstellung für den Standardinstanztyp Ihrer ArcGIS Server11.3-Site ist davon abhängig, ob die Site neu installiert oder ein Upgrade durchgeführt wurde:
- Bei neuen ArcGIS Server-Sites, die mit 11.3 erstellt wurden, werden als Standardeinstellung für Instanzen alle kompatiblen Kartenservices dem Pool für geteilte Instanzen zugewiesen.
- ArcGIS Server-Sites, bei denen ein Upgrade von Version 10.7 auf 10.7.1 durchgeführt wurde, behalten jeweils ihre aktuelle Standardeinstellung für Instanzen bei. In der ursprünglichen Einstellung wurden bei diesen Versionen dedizierte Instanzen festgelegt, mit der Option, geteilte Instanzen zu verwenden.
- Bei ArcGIS Server-Sites, bei denen ein Upgrade von Version 10.6.1 oder früher durchgeführt wurde, wurden zunächst dedizierte Instanzen als Standardinstanztyp festgelegt. Der Pool für geteilte Instanzen wird bei der ersten Konfiguration eines kompatiblen Kartenservice erstellt, für den geteilte Instanzen verwendet werden sollen.
Wenn Sie als Standardinstanztyp für Ihre Services geteilte Instanzen auswählen, gilt die Einstellung nur für kompatible Kartenservices. Services, die den Pool für geteilte Instanzen nicht nutzen können, verwenden weiterhin den Pool für dedizierte Instanzen.
Änderungen an der Einstellung für den Standardinstanztyp betreffen nur zukünftig veröffentlichte Services. Sie haben keine Auswirkung auf die Instanztyp-Einstellungen der vorhandenen Services.
Hinweis:
Der Pool für geteilte Instanzen nimmt basierend auf der Anzahl der Services, die Anforderungen empfangen, eine kleine Speichermenge in Anspruch. Bei einem Pool für geteilte Instanzen, der Anforderungen für eine große Anzahl von Services abwickelt, steigt der Speicher mit der zunehmenden Anzahl der Services, die Anforderungen empfangen, allmählich an. Nachdem 50 oder mehr Services innerhalb einer einzigen Recycling-Periode Anforderungen empfangen haben, erhöht sich die Speichernutzung nicht weiter.
Führen Sie die folgenden Schritte aus, um den Standardinstanztyp für kompatible Kartenservices festzulegen.
- Melden Sie sich bei ArcGIS Server Manager als Administrator an. Die URL hat das Format https://webadaptor.domain.com/arcgis/manager.
- Navigieren Sie zu Site > Einstellungen. Über die Seite Pooling können Sie auf diese Einstellungen zugreifen.
- Um den Standardinstanztyp für kompatible Kartenservices zu ändern, klicken Sie auf die Schaltfläche "Bearbeiten" für Standardinstanztyp. Wählen Sie den Instanztyp aus, der als Standardeinstellung verwendet werden soll:
- Wählen Sie Dedizierte Instanzen aus, wenn Sie von einem hohen Datenverkehr für die meisten Services ausgehen oder wenn nur wenige Services auf der Server-Site ausgeführt werden und daher mit keiner besonders hohen Auslastung des Computerspeichers zu rechnen ist.
- Wählen Sie Geteilte Instanzen aus, wenn Sie viele Services veröffentlichen, die nur selten Anforderungen empfangen, oder wenn Sie annehmen, dass weitere Services veröffentlicht werden, die Speicherressourcen beanspruchen.
- Klicken Sie auf Übernehmen, um Ihre Auswahl zu bestätigen.
Konfigurieren des Instanztyps für einen Service
Administratoren können den Instanztyp für einzelne Services auch nach der Veröffentlichung festlegen, indem sie die Standardeinstellung überschreiben. Führen Sie die folgenden Schritte aus, um den Instanztyp für einen einzelnen Service zu ändern. Um den Pool für geteilte Instanzen nutzen zu können, muss ein Kartenservice in ArcGIS Pro veröffentlicht worden sein und die anderen oben genannten Anforderungen erfüllen.
- Geben Sie ein Web-Layer (als Karten-Image-Layer) oder eine Webkarte aus ArcGIS Pro im ArcGIS Enterprise-Portal frei. Ein Kartenservice wird auf dem verbundenen ArcGIS Server erstellt.
Hinweis:
Nur bestimmte Funktionen der Kartenservices – Feature Access, WFS, WMS und KML – können für Kartenservices, die den Pool für geteilte Instanzen verwenden, aktiviert werden.
- Melden Sie sich bei ArcGIS Server Manager als Administrator an. Die URL hat das Format https://webadaptor.domain.com/arcgis/manager.
- Suchen Sie den Kartenservice.
- Klicken Sie auf Service bearbeiten.
- Klicken Sie links auf der Seite auf die Registerkarte Pooling.
Auf dieser Registerkarte können Sie ggf. den Bereich der dedizierten Instanzen für die Services angeben, die Service-Timeout-Eigenschaften festlegen und bestimmen, ob der Service dedizierte oder geteilte Instanzen verwendet.
- Legen Sie fest, ob für den Service der Pool für geteilte Instanzen oder der eigene Pool für dedizierte Instanzen verwendet werden soll.
- Wenn ein Service für die Verwendung des Pools für geteilte Instanzen konfiguriert wird, stehen einige Funktionen des Kartenservice (auf der Registerkarte Funktionen) nicht zur Verfügung. Wenn Sie die Option Pool für freigegebene Instanzen nicht auswählen können, stellen Sie sicher, dass Sie keine nicht unterstützten Funktionen im Kartenservice aktiviert haben. Siehe den Hinweis in Schritt 1.
- Wenn für einen Service die Verwendung des Pools für geteilte Instanzen konfiguriert wurde, ist der Abschnitt Anzahl der Instanzen angeben (für Pools für dedizierte Instanzen) nicht mehr verfügbar.
- Klicken Sie anschließend auf Speichern und neu starten. Wenn die Instanzpool-Option für einen Kartenservice geändert wurde, muss der Service neu gestartet werden.
Sie können den von einem Kartenservice verwendeten Instanzpool jederzeit ändern; dies ist möglicherweise erforderlich, wenn sich die Verkehrsmuster des Service ändern.