Es wurden Tests durchgeführt, um sicherzustellen, dass das Design die erwartete Performance erbringt und die Workflows, Benutzer und die beabsichtigte Last unterstützt. Systemtests bieten die Möglichkeit, Probleme bei der Bereitstellung des Systems in “niederen” Umgebungen zu festzustellen und zu beheben, idealerweise bevor sie im Produktivsystem auftreten. Bei dieser Teststudie lag der Schwerpunkt der Teststrategie darauf, zu bewerten, ob das System die Workflows unterstützt, und zu verstehen, wie sich die Last auf das System, die zugehörigen Komponenten und die User Experience von Endbenutzern auswirkt.
Bei der Durchführung der Workflows unter verschiedenen Lastszenarien wurde jede Komponente überwacht. Nach Abschluss des Tests wurden die Ergebnisse zusammengestellt und analysiert, um sowohl Engpässe als auch überlastete Komponenten im System zu identifizieren. Diese Informationen wurden verwendet, um Systemkomponenten zu identifizieren, die vor weiteren Tests hoch- , herunter- oder horizontal skaliert werden mussten.
Manuelle Tests der User Experience wurden durchgeführt, indem Bildschirmaufzeichnungen der Workflow-Tester aufgezeichnet wurden, um sicherzustellen, dass die Benutzer des Systems ihre Workflows produktiv abschließen konnten.
Weitere Informationen finden Sie unter Entwerfen einer effektiven Teststrategie.
In dieser Teststudie wurde ein Geschwindigkeitsmodell auf die getesteten Workflows angewendet. Das Geschwindigkeitsmodell zeigt, wie der Test das Arbeitstempo in einer Organisation zur Flurstücksverwaltung simulieren soll, in der Workflows als eine bestimmte Anzahl von Vorgängen pro Stunde in einem Team von Mitarbeiterressourcen ausgeführt werden. Diese Strategie basierte auf Rückmeldungen von Esri Kunden und zielte darauf ab, das Szenario eines mittleren Flurstückverwaltungskunden abzubilden, auf dem die Daten basierten.
Während des einstündigen Testzeitraums wurden die Workflows verteilt und gestaffelt ausgeführt, um eine gleichzeitige Initiierung zu vermeiden, wobei dennoch Überlappungen möglich waren. Auf diese Weise wurde der Ablauf von Aufgaben in realen Umgebungen nachgebildet. Im unten dargestellten Geschwindigkeitsmodell sehen Sie, wie wir die Geschwindigkeit und die Anzahl der Vorgänge pro Stunde für die einzelnen Workflows angegeben haben. Diese beiden Komponenten definieren die “Auslegungslast” des Systems.
Im Geschwindigkeitsmodell liegt die Auslegungslast beispielsweise bei 120 Workflows zum Zusammenfassen von Flurstücken pro Stunde. In der Zusammenarbeit mit Kunden haben wir festgestellt, dass dies repräsentativ dafür ist, wie oft dieser Workflow in einer mittelgroßen Organisation in einer Stunde insgesamt ausgeführt wird. Diese Anzahl von Workflows kann jedoch von beliebig vielen tatsächlichen Benutzern ausgeführt werden, da in einigen Organisationen eine kleine Zahl von Mitarbeitern den Workflow jeweils mehrmals pro Stunde ausführt, während es anderswo eine größere Gruppe von Benutzern gibt, die den Workflow jeweils seltener ausführen. Unabhängig von der Verteilung auf die Benutzer bleibt die Gesamtzahl der vom System unterstützten Vorgänge pro Stunde jedoch gleich.
Die Last wurde anschließend durch die Vervielfältigung der Workflows bis zu einem Punkt erhöht, an dem das System nicht mehr in der Lage war, akzeptable Reaktionszeiten oder die erfolgreiche Umsetzung der Workflows zu gewährleisten. Im vorliegenden Fall war dies der Punkt, an dem die Last groß genug war, um bewerten zu können, ob das System für den beabsichtigten Organisationstyp geeignet war. Beachten Sie, dass das in dieser Teststudie angewendete Workflow-Geschwindigkeitsmodell möglicherweise nicht der typischen Nutzung in Ihrer Organisation entspricht.

Da es sich bei ArcGIS um ein mehrschichtiges System handelt, wurden Performance-Tests auf Client-, Service- und Datenspeicherebene sowie für die zugrunde liegende Infrastruktur selbst durchgeführt. In dieser Teststudie wurde JMeter verwendet, um die Workflows der Benutzer zu simulieren und die Systemleistung unter verschiedenen Lasten zu messen. ArcGIS Pro-Anforderungen wurden aufgezeichnet und dann wiedergegeben, um die Auslastung zusätzlich zu den manuellen Workflows zu simulieren, die zur Bewertung der User Experience der Endbenutzer durchgeführt wurden. Windows Performance Monitor und ArcGIS Monitor wurden ebenfalls verwendet, um die Ressourcenauslastung der verschiedenen Komponenten zu überwachen.
Weitere Informationen finden Sie unter Werkzeuge für Performance-Tests.
Diese Architektur wurde mit automatisierten Lasttests und manuellen Benutzern in drei Szenarien überprüft. Die Ergebnisse der einzelnen Szenarien finden Sie unten. Allgemein zeigen die Testergebnisse, dass das System in seiner Implementierung ausreichend ausgestattet ist, um Lasten bis zum 8-Fachen der Auslegungslast zu bewältigen. Die Tests haben auch gezeigt, wie wichtig die richtige Anwendungs- und Systemkonfiguration für die Performance ist.

Observations:

Observations:

Observations:
Neben der Ressourcennutzung durch virtuelle Maschinen wurde auch die ArcSOC-Nutzung bei den einzelnen Testausführungen überwacht, um besser verstehen zu können, ob die Services richtig abgestimmt waren. Bei allen Ausführungen bis zur 8-fachen Auslegungslast waren stets deutlich weniger als die maximal möglichen ArcSOCs (16) ausgelastet, was darauf hindeutet, dass mehr Karteninstanzen als notwendig für diese Lasten konfiguriert wurden. Wenn dies eine Produktionsumgebung mit Lasten unter der 8-fachen Auslegungslast wäre, könnten wir die Größe des Hosting-Servers und der GIS-Servercomputer reduzieren, um Geld zu sparen. Dazu müsste die ArcSOC-Nutzung zusammen mit der Server-CPU und dem Serverspeicher überwacht werden, um erkennen zu können, wann eine Skalierung zum Decken des Bedarfs erforderlich ist. Außerdem müsste sichergestellt sein, dass wir diese Computer nicht überlasten, denn jeder ArcSOC belegt Speicher und jeder ausgelastete ArcSOC nutzt eine virtuelle CPU.
Aus dem folgenden Diagramm geht hervor, dass alle 16 ArcSOCs bei 8-facher Auslegungslast zu bestimmten Zeiten auf der Hosting-Server-Site ausgelastet sind. Wenn alle ArcSOCs ausgelastet sind, würden wir erwarten, dass die Wartezeiten für die Services steigen (was auch beobachtet wurde). Allerdings zeigt der Flurstücksserver (rechts) eine geringere ArcSOC-Auslastung an, es werden nur maximal 9 der 16 konfigurierten ArcSOCs verwendet.
Der anfängliche Spitzenwert auf dem Hosting-Server (links) wurde durch die Dashboards verursacht, die zu Beginn des Tests gestartet wurden. Wir haben die Workflow-Geschwindigkeit für zukünftige Testausführungen korrigiert und Dashboard-Starts auf einen Zeitraum von mehreren Minuten verteilt, um eine realistischere Situation abzubilden.

Neben automatisierten Workflows beobachteten wir auch die User Experience durch die Erfassung von Bildschirmaufzeichnungen der Workflow-Tester. Wir extrahierten die Dauer der Workflows (wie lange die Benutzer für alle Schritte in einem Workflow benötigten) aus diesen Aufzeichnungen. Diese Methode dient dazu, sicherzustellen, dass die Benutzer des Systems ihre Workflows produktiv nutzen können.
Wie Sie der untenstehenden Grafik entnehmen können, sind die Workflow-Zeiten weitgehend vergleichbar; es gibt nur geringfügige Abweichungen in allen Testszenarien. Das zeigt, dass das System die erhöhte Last tragen kann, ohne die von den Endbenutzern wahrgenommene Reaktionsfähigkeit des Systems negativ zu beeinflussen.
Zusätzlich zu den Workflows selbst wurden auch die Workflow-Zeiten wichtiger Schritte in allen Workflows erfasst. Dies stellt die durchschnittliche Zeit dar, die benötigt wurde, um einen bestimmten Schritt eines Workflows durchzuführen, während das System unter Last ausgeführt wurde. Im untenstehenden Diagramm sehen Sie ein Beispiel für den Workflow zum Zusammenführen von Flurstücken, bei dem die Zeiten für das Ausführen der einzelnen Schritte in allen Lastszenarios sehr konstant waren. Dieses Muster ist mit geringen Abweichungen in allen Workflows zu beobachten.
Die Tests wurden in einer Testumgebung und nicht in einem Produktionssystem durchgeführt. Ihr System verfügt wahrscheinlich über andere Workflows, eine abweichende Konfiguration oder ein anderes Design. Beispielsweise wird in Azure normalerweise kein Web Adaptor (bei Verwendung von SAML) verwendet und das AppGateway verteilt die Last direkt auf die Server. Sie können aus diesen Testansätzen und -ergebnissen jedoch Ihre eigenen Schlüsse ziehen: