Deutsch

Problem: Die Anzahl der ArcSOC-Instanzen verursacht Performance-Probleme bei ArcGIS Server

Beschreibung

Die Anzahl der Instanzen von "ArcSOC.exe" kann einen hohen Betrag an Arbeitsspeicher (RAM) beanspruchen und Performance-Probleme bei ArcGIS Server verursachen.

image of Task Manager - Performance tab

Ursache

Das Problem tritt auf, wenn auf einem einzelnen Hostcomputer mehrere Instanzen ausgeführt werden, sodass die Beschränkung des verfügbaren Arbeitsspeichers überschritten wird, ein übermäßiger Betrag an Ressourcen verwendet wird und eine instabile Serviceumgebung entsteht. ArcGIS Server ist für eine optimale Performance eingestellt, ohne dass eine zusätzliche Konfiguration erforderlich ist. Selbst während des Leerlaufs des Systems ist dieses für eine große Menge von Anforderungen eingestellt. Wenn das System unter Last ist, nimmt die Speicherauslastung zu, um die ausgeführten Funktionen mit hoher Performance zu bewältigen. Wenn ein ArcSOC.exe-Prozess und eine Instanz von "ArcSOC.exe" ausgeführt werden, werden insgesamt drei ArcSOC.exe-Prozesse ausgeführt (pro Instanz zwei ArcSOC.exe-Prozesse). Beispielsweise werden durch einen Geoverarbeitungsservice mit drei ausgeführten Instanzen sieben ArcSOC.exe-Prozesse generiert.

Lösung oder Problemumgehung

Es gibt zwei Möglichkeiten zum Beheben dieses Problems.

  • Option 1 gilt für ArcGIS Server 10.7 und höher.
  • Option 2 gilt für alle Versionen von ArcGIS Server.


Option 1: Konfigurieren der Services für die Verwendung des Pools für geteilte Instanzen. (Verfügbar in ArcGIS Server 10.7 und höher.)

Ab 10.7 enthält ArcGIS Server einen Pool für geteilte Instanzen. In diesem Pool für geteilte Instanzen befinden sich standardmäßig vier ArcSOC.exe-Prozesse. Statt eines Service, der seinen eigenen ArcSOC.exe-Prozess verwendet, werden bei einem Pool für geteilte Instanzen die ArcSOC.exe-Prozesse, die im Pool für geteilte Instanzen verfügbar sind, verwendet. Dieser ArcSOC.exe-Prozess wird nach der Verarbeitung der Anforderung wieder freigegeben und kann dann durch einen anderen Service im freigegebenen Pool verwendet werden. Dadurch lässt sich die Anzahl der aktiven ArcSOC.exe-Prozesse auf dem ArcGIS Server-Computer reduzieren. Ideal ist dies für Services, die keine eigenen ArcSOC.exe-Prozesse benötigen.

Die Option mit dem Pool für geteilte Instanzen ist für über ArcGIS Pro veröffentlichte Kartenservices verfügbar. Die folgenden Beschränkungen begrenzen, welche Services den Pool für geteilte Instanzen verwenden dürfen:

  • Nur Kartenservices können für die Verwendung des Pools für freigegebene 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.
  • Services mit benutzerdefinierten Serverobjekterweiterungen (SOEs) oder Serverobjekt-Interceptoren (SOIs) können keine geteilten Instanzen verwenden.
  • In ArcMap veröffentlichte Services können keine freigegebenen Instanzen verwenden.
  • In ArcGIS Pro veröffentlichte gecachte Kartenservices, die die oben genannten Anforderungen erfüllen, können geteilte Instanzen verwenden.

In den folgenden Schritten wird das Konfigurieren eines Service für die Verwendung des Pools für geteilte Instanzen beschrieben.

  1. Melden Sie sich bei ArcGIS Server Manager mit einem Administratorkonto an.
  2. Klicken Sie unter Site (Stammverzeichnis) > System auf den Service, der geändert werden soll.
  3. Klicken Sie auf Pooling, und wählen Sie das Optionsfeld Pool für geteilte Instanzen aus.
User-added image
  1. Klicken Sie auf Speichern und neu starten.


Option 2: Festlegen der minimalen Anzahl der Instanzen auf "0". (Verfügbar in allen Versionen von ArcGIS Server.)

Wenn die Funktionalität mit dem Pool für geteilte Instanzen in ArcGIS Server nicht verwendet werden kann, dann sollten Sie die minimale Anzahl der Instanzen selten verwendeter Services auf "MinInstances = 0" festlegen. So bleiben Arbeitsspeicher und Kapazität für andere aktive Karten- und Geoverarbeitungsservices reserviert. Wenn die minimale Anzahl der Instanzen auf Null festgelegt wurde, kann es zu Verzögerungen in der Verarbeitung kommen, da der ArcSOC-Prozess nach einer Anforderung Zeit benötigt, den Betrieb aufzunehmen. Legen Sie für Services, die in hohem Maße von Benutzern verwendet werden, die maximale Anzahl von Instanzen auf "MaxInstances = n+1" fest (wobei n die Anzahl der Kerne des Hostcomputers ist). Weitere Informationen zur Performance-Optimierung von ArcGIS Server finden Sie in der folgenden Hilfedokumentation zu ArcGIS: Optimieren und Konfigurieren von Services.

In den folgenden Schritten wird beschrieben, wie Sie in ArcGIS Server Manager die Anzahl der Instanzen von ArcSOC.exe-Prozessen festlegen.

  1. Melden Sie sich bei ArcGIS Server Manager mit einem Administratorkonto an.
  2. Klicken Sie unter Site (Stammverzeichnis) > System auf den Service, der geändert werden soll.
    [O-Image]
  3. Klicken Sie auf Pooling, und ändern Sie Maximale Anzahl von Instanzen pro Computer in 0.
    [O-Image]
  4. Klicken Sie auf Speichern und neu starten.
Hinweis:
Die Eigenschaft "MinInstances" muss kleiner als die Eigenschaft "MaxInstances" sein.

Weitere Informationen finden Sie in der folgenden Hilfedokumentation zu ArcGIS: Konfigurieren von Service-Instanz-Einstellungen.

Referenzinformationen