Wie viele ArcGIS for Server-Service-Instanzen sind optimal?

15

Was ist die beste Anzahl von ArcGIS for Server-Instanzen?

Wenn ich die Anzahl der Instanzen erhöhe, werden die Dienste dann schneller ausgeführt?

user7172
quelle

Antworten:

27

Ich zitiere einige Referenzen aus dem Dave Peters System Design Strategies Wiki , das für eine gründlichere Lektüre empfohlen wird, um die Komplexität der Beantwortung dieser Frage zu verstehen. Ich würde auch empfehlen, die entsprechende Version der Web-Hilfe für Tuning-Dienste zu überprüfen .

Ich denke, dies ist eine wirklich gute, wenn auch etwas vage Frage, da sie mehrmals gestellt wird.

Ich werde versuchen, mit der Zeit auf diese Frage zurückzukommen, um die Antwort zu verbessern. Freut mich, dass es ein Community-Wiki wird, wenn die Leute meine Antwort verbessern wollen.

Was sind Service Instances?

Die Dienstinstanz ist ein Dienstkonfigurationsparameter, der die minimale und maximale Anzahl von Prozessthreads angibt, die von ArcGIS for Server bereitgestellt werden, um eingehende Webdienstanforderungen zu erfüllen.

Es ist nicht zu verwechseln mit der Installationsinstanz in Version 9.3.1 und Version 10 von ArcGIS Server. Um Verwirrung zu vermeiden, wurde sie jetzt in GIS Server-Site in Version 10.1 geändert.

  • Die Mindestanzahl der angegebenen Dienstinstanzen wird beim Serverstart bereitgestellt.
  • Weitere Dienstinstanzen werden vom Dienstmanager basierend auf Dienstanforderungsanforderungen bis zur maximal angegebenen Dienstkonfiguration bereitgestellt.

Diese Instanzen werden auf den Container-Computern ausgeführt (Peers in Ihrer ArcGIS-Site unter 10.1). Wenn der Dienst stark isoliert ist, wird jede Instanz als eigener Prozess ausgeführt. Aufgrund der geringen Isolation können mehrere Instanzen einen Prozess gemeinsam nutzen, was normalerweise empfohlen wird, da durch Multithreading der Arbeitsspeicher besser genutzt wird (obwohl bei einem Absturz eines Prozesses mehrere Jobs verloren gehen können). Bei geringer Isolation können zwischen 8 und 24 Instanzen desselben Dienstes einen Prozess gemeinsam nutzen.

Bildbeschreibung hier eingeben

Was ist eine optimale Einstellung?

Es ist wichtig, die richtige Instanzkonfiguration für jede Karten-Service-Bereitstellung zu ermitteln. Die ordnungsgemäßen Konfigurationen der Dienstinstanzen hängen von den zu erwartenden Spitzenanforderungen an den Dienst und der Konfiguration des Servercomputer-Kernprozessors ab.

Eine Anwendung, die eine Instanz verwendet, verwendet sie nur für die Zeit, die zum Abschließen einer Anforderung erforderlich ist. Nachdem die Anforderung abgeschlossen ist, wird die Instanz wieder für andere Benutzer in den Pool freigegeben.

Wenn die maximale Anzahl von Instanzen eines Dienstes verwendet wird, wird ein Client, der einen Dienst anfordert, in eine Warteschlange gestellt, bis ein anderer Client einen der Dienste freigibt. Die Zeit, die ein Client benötigt, um einen Service anzufordern, bis er einen Service erhält, ist die Wartezeit. 

Sie können Ihre Protokolle und ArcGIS Server Statistics (nicht mehr bei 10.1 vorhanden) überprüfen, um festzustellen, welche Services beliebter sind und für welche mehr Instanzen dediziert werden müssen.

Dave Peters allgemeine Regel, die eine kurze Antwort auf diese Frage ist:

Die Maximum-Instanzen sollten eine weitere Instanz bereitstellen, die über verfügbare Server-Rechnerkerne verfügt. dh N + 1 Instanzen, wobei N = Anzahl der Serverkerne

Ich würde es wärmstens empfehlen, dies direkt aus dem Wiki zu lesen und diese Einstellungen sorgfältig anzupassen. Wenn Sie spezifischere Antworten auf ein bestimmtes Szenario benötigen, müssen Sie dies in einer anderen Frage ansprechen.

Simon
quelle
4
Dem hinzufügen; Sie müssen auch wirklich die Arten von Diensten stark berücksichtigen; Ein zwischengespeicherter Dienst kann viel weniger Datenverkehr sehen, aber genauso komplexe Daten liefern.
DEWright
1
Nützliches Tool für die fehlenden Serverstatistiken bei 10.1 gdbgeek.wordpress.com/2013/01/23/…
Simon