Freigeben über


Verwenden von Testcontrollern und Test-Agents mit Auslastungstests

 

Veröffentlicht: Juli 2016

Dieses Thema gilt für folgende Anwendungsbereiche:

Visual Studio Enterprise

Visual Studio Professional 

Visual Studio Express

Thema ist vorhanden
Thema ist nicht vorhanden
Thema ist nicht vorhanden

Sie können Auslastungstests mit Testcontrollern und Test-Agents ausführen, um die Auslastung auf mehrere Computer zu verteilen und mehrere virtuelle Benutzer zu simulieren.

Sie möchten Ihre Ressourcen nicht verwenden und eigene Computern einrichten, um diese Auslastung zu erstellen? Sie können cloudbasierte Auslastungstests verwenden, um virtuelle Computer in der Cloud bereitzustellen, die die Auslastung vieler Benutzer generieren, die gleichzeitig auf Ihre Website zugreifen. Sie benötigen lediglich ein Visual Studio Online-Konto. Lernen Sie mehr über den cloudbasierten Auslastungstestdienst, der 15.000 kostenlose virtuelle Benutzerminuten an Auslastungstests jeden Monat bereitstellt.

Folgen Sie den Anweisungen im Rest des Themas, um die erforderlichen Konfigurationen für den Auslastungstest Ihrer App mit lokalen Ressourcen in Erfahrung zu bringen.

Typische Remotekonfiguration:

  • Machine1 und Machine2: Visual Studio (ein Controller kann von mehreren Tester verwendet werden).

  • Machine3: Controller (auf diesem Computer können auch Agents installiert sein)

  • Machine4-n: Agent oder Agents, die jeweils dem Controller auf Machine3 zugeordnet sind.

Remotecomputer mit Controller und Agents

Beim Ausführen von Auslastungstests hängt die Höhe der Auslastung, die für den Test generiert werden kann, in der Regel vom Arbeitsspeicher und von der Prozessorkapazität des Computers ab. Der Testcontroller generiert keine Auslastung, sondern sammelt Auslastungsteststatistiken von den Test-Agents und Leistungsindikatordaten von den Test-Agents und dem getesteten System. Die vom Testcontroller verwendete Datenbank erfordert daher sowohl für die gespeicherte Datenmenge als auch für die an der Testausführung beteiligte Anzahl von Test-Agents Ressourcen. Verwenden Sie die folgende Tabelle als Richtlinie, um die Hardwareanforderungen für den Testcontroller und den Test-Agent zu bestimmen.

Komponente

Testcontroller-Anwendungsebene

Testcontroller-Datenebene

Testcontroller-Anwendungs-/Datenebene

CPU

Min. 1 GHz

2 GHz empfohlen

Min. 1 GHz

2 GHz empfohlen

Min. 1 GHz

2 GHz empfohlen

Datenträger – System

Min. 1 GB

1 GB empfohlen

Min. 1 GB

1 GB empfohlen

Min. 1 GB

1 GB empfohlen

Datenträger - Installation

Min. 1 GB

48 GB empfohlen

Min. 8 GB

48 GB empfohlen

Min. 8 GB

48 GB empfohlen

Arbeitsspeicher

Min. 1 GB

1 GB empfohlen

Min. 1 GB

1 GB empfohlen

Min. 1 GB

1 GB empfohlen

Um Auslastungstests mit Testcontrollern auszuführen, müssen Sie die Auslastungstestdatenbank auf dem Testcontroller so konfigurieren, dass eine Instanz von SQL Server für die Ausführung der Auslastungstests verwendet wird. Wenn Sie nicht über SQL Server verfügen, können Sie SQL Express (in Visual Studio Enterprise enthalten) als Auslastungstestspeicher verwenden. Weitere Informationen über das Konfigurieren Ihres Testcontrollers finden Sie unter Installieren und Konfigurieren von Test Agents und Testcontrollern.

Berücksichtigen Sie beim Auswählen der Hardware die folgenden zusätzlichen Faktoren.

Komponente

Test-Agent

Testcontroller-Anwendungsebene

Testcontroller-Datenebene

Testcontroller-Anwendungs-/Datenebene

CPU

Abhängig vom Test ist die CPU häufig der einschränkende Faktor.

Nicht oft verwendet

Nicht oft verwendet

Nicht oft verwendet

Datenträger

Wird oft verwendet, wenn die ausführliche Protokollierung in den Auslastungstests aktiviert ist.

Nicht oft verwendet

10 GB Speicherplatz für 24 Stunden Testdaten erforderlich

10 GB Speicherplatz für 24 Stunden Testdaten erforderlich

Arbeitsspeicher

Abhängig vom Test kann der Arbeitsspeicher der einschränkende Faktor sein.

Nicht oft verwendet

Oft von SQL verwendet

Oft von SQL verwendet

Die Höhe der Auslastung, die ein bestimmter Test-Agent generieren kann, variiert von Test zu Test. Die meisten Tests sind durch die CPU beschränkt. Die CPU-Auslastung ist direkt proportional zu den Anforderungen pro Sekunde (RPS). Bei anderen Auslastungstests ist der Arbeitsspeicher der beschränkende Faktor. Die Anzahl von Anforderungen pro Sekunde, die voraussichtlich mit einem Load Agent generiert werden können, hängt von vielen Faktoren ab. Hierzu gehört Folgendes:

  • Benutzerauslastung

  • Reaktionszeit

  • Authentifizierungsschema

  • Größe von Anforderungen und Antworten

  • Antwortzeit

  • Ebene der Antwortvalidierung

  • Testtyp unter Auslastung (Webtest oder Komponententest)

Die Reaktionszeit ist der primäre Faktor für die Ermittlung der Anzahl von Benutzern bei einem CPU-gebundenen Test. Wenn Sie die Reaktionszeiten von 2 in 10 Sekunden ändern, können Sie fünfmal so viele Benutzer simulieren, die generierte Anzahl von Anforderungen pro Sekunde bleibt jedoch gleich. Wenn Sie reale Benutzer simulieren möchten, legen Sie die Reaktionszeit auf einen Wert fest, der das voraussichtliche Verhalten von Benutzern auf der Website widerspiegelt. Das Erhöhen der Reaktionszeit und der Anzahl virtueller Benutzer führt nicht unbedingt zu einer zusätzlichen Belastung der Webanwendung.

Bei Tests mit dem Verbindungsmodus "Verbindungen pro Benutzer" können Test-Agents durch den Arbeitsspeicher beschränkt sein. Zwei Verbindungsmodi können in den Auslastungstestlaufeinstellungen konfiguriert werden. Im Modus "Verbindungspool" (Standardeinstellung) werden Verbindungen in einem Pool zusammengefasst, im aktiven Zustand verwendet jeder Benutzer aber dennoch zwei Verbindungen. In diesem Modus arbeiten alle virtuellen Benutzer im Multiplexmodus über den Verbindungspool. Auf diese Weise können 1000 aktive virtuelle Benutzer 100 Verbindungen gemeinsam nutzen. Im Modus "Verbindungen pro Benutzer" wird für jeden Benutzer eine Verbindung verwendet, die aus zwei tatsächlichen geöffneten Verbindungen mit dem Server besteht.

Wenn Auslastungstests mit Webtests für eine typische ASP.NET-Anwendung mit 3 bis 5 Sekunden Reaktionszeit ausgeführt werden, können Sie mit einem Einzelprozessor-Test-Agent mit einer 2 GHz-CPU und 1 GB RAM (empfohlene Konfiguration) ungefähr 1000 Benutzer simulieren. Die Anzahl unterstützter Benutzer ist abhängig von der Reaktionszeit. Bei längeren Reaktionszeiten können mehr Benutzer unterstützt werden.

Der Server, auf dem Visual Studio Enterprise ausgeführt wird, muss über eine zuverlässige Netzwerkverbindung mit einer Bandbreite von mindestens 1 MBit/s und einer Latenz von höchstens 350 ms verfügen. Zwischen den Testagents und dem Testcontroller darf keine Firewall konfiguriert sein. Wenn die Testleistung den Erwartungen nicht entspricht, sollten Sie ein Upgrade der Hardwarekonfiguration in Betracht ziehen.

Überlegungen zur SQL-Größenanpassung

Auf dem Controller wird standardmäßig SQL Express installiert und als Standard-SQL-Speicher für Auslastungstestergebnisse verwendet. Die SQL Express-Datenbank ist per Lizenz auf 10 GB beschränkt. Dies entspricht bei einem typischen Auslastungstest ungefähr 24 Stunden Auslastungstestdaten. Der für Auslastungstestdaten erforderliche Speicherplatz variiert abhängig vom Test stark.

Während eines Auslastungstests werden Samplings für alle Indikatorinstanzen auf jedem Computer gesammelt. Daher hängt der in der Datenbank erforderliche Speicherplatz von den folgenden Faktoren ab: Anzahl gesammelter Indikatoren, Anzahl am Test beteiligter Computer und Anzahl erfasster Samplings entsprechend der Samplingrate.

In den Testlaufeinstellungen für den Auslastungstest können Details zur zeitlichen Steuerung gesammelt werden. Anhand dieser Daten kann das Diagramm für Aktivitäten virtueller Benutzer erstellt werden. Sie können auch detaillierte Protokolle für virtuelle Benutzer erfassen.

Bei einem Auslastungstestlauf können ein oder mehrere Adapter für diagnostische Daten verwendet werden, um Informationen zu sammeln oder die Testcomputer zu beeinflussen. Diese Adapter werden in den Testeinstellungen für den Testlauf konfiguriert. Daten von diesen Adaptern werden ebenfalls in SQL Express gespeichert und können abhängig vom jeweiligen Adapter für diagnostische Daten viel Speicherplatz erfordern.

Sofern möglich, sollten Sie eine separate Datenbank zum Speichern der Auslastungstestdaten verwenden. Die Datenbank kann auf dem Testcontrollercomputer oder einem anderen Computer gespeichert werden. Senden Sie zum Ändern des Datenspeichers die in der SQL-Datei enthaltenen SQL-Befehle an die SQL Server-Instanz, die Sie für den Auslastungstestergebnisspeicher verwenden möchten. Zwei Methoden stehen Ihnen dazu zur Verfügung. Die erste Methode besteht darin, den sqlcmd-Befehl an einer Eingabeaufforderung einzugeben und die benötigten Optionen zum Herstellen einer Verbindung mit der gewünschten Datenbank anzugeben. Verwenden Sie die –i-Option, um den Pfad zu "loadtestresultsrepository.sql" anzugeben. Die zweite Methode besteht darin, die SQL-Datei in einer der SQL-Schnittstellen mit grafischer Benutzeroberfläche (z. B. Query Analyzer) zu öffnen und die Verbindungsbefehle von dort aus zu senden.

Siehe auch

Konfigurieren von Testcontrollern und Test-Agents für Auslastungstests
Verteilen von Auslastungstestläufen auf mehrere Testcomputer mithilfe von Testcontrollern und Test-Agents
Installieren und Konfigurieren von Test Agents und Testcontrollern
Einrichten von Testcomputern zum Ausführen von Tests oder Sammeln von Daten
Einrichten von Computern und Sammeln von Diagnoseinformationen mithilfe von Testeinstellungen
Angeben von Testeinstellungen für Visual Studio-Tests
Konfigurieren von Testcontrollern und Test-Agents für Auslastungstests
[veraltet] Gewusst wie: Ausführen eines Auslastungstests mit Testcontrollern und Test-Agents, die in einer Testeinstellung festgelegt wurden
Walkthrough: Using a Test Controller and Test Agents in a Load Test