Überlegungen zu umfangreichen Auslastungstests

Aktualisiert: November 2007

Dieses Thema enthält Tipps zur Ausführung von umfangreichen Auslastungstests in Visual Studio Team System Test Edition. Die folgenden Aspekte werden erörtert:

Auswählen des geeigneten Auslastungsmusters

Auswählen des geeigneten Verbindungsmodells

Samplingrate und Datenerfassung

Reaktionszeit

Festlegen von Zielwerten für die Antwortzeit bei Webtestanforderungen

Einbeziehen von Zeitsteuerungsdetails zum Erfassen prozentualer Daten

Festlegen der Prozentsatz neuer Benutzer-Eigenschaft

Aktivieren von SQL-Ablaufverfolgung

Verwalten einer angemessenen Anzahl von Agent-Computern

Auswählen des geeigneten Auslastungsmusters

Es gibt drei Typen von Auslastungsmustern: konstante Auslastung, schrittweise Auslastung und zielbasierte Auslastung. Zur Auswahl des geeigneten Musters für den Auslastungstest ist das Verständnis der verschiedenen Typen wichtig. Weitere Informationen finden Sie unter Informationen zum Auslastungsmuster.

Konstante Auslastung

Ein konstantes Auslastungsmuster eignet sich zum Testen einer konstanten Benutzerauslastung über einen langen Zeitraum. Wenn Sie eine hohe Benutzerauslastung mit einem konstanten Auslastungsmuster festlegen, empfiehlt es sich, auch eine Aufwärmphase für den Auslastungstest festzulegen. Mithilfe einer Aufwärmphase vermeiden Sie eine Überlastung Ihrer Site durch Hunderte von neuen Benutzersitzungen, in denen eine Site gleichzeitig aufgerufen wird.

Schrittweise Auslastung

Schrittweise Auslastungsmuster werden häufig verwendet, um die Systemleistung bei einer zunehmenden Benutzerauslastung zu überwachen. Durch die Überwachung des Systems bei zunehmender Benutzerauslastung können Sie die Benutzeranzahl feststellen, die mit einer angemessenen Reaktionszeit vom System unterstützt wird bzw. im Gegensatz dazu zu Leistungseinbußen des Systems führt.

Zielbasierte Auslastung

Ein zielbasiertes Auslastungsmuster ähnelt einem schrittweisen Auslastungsmuster hinsichtlich der zunehmenden Benutzerauslastung über einen bestimmten Zeitraum. Bei diesem Muster können Sie jedoch festlegen, dass die Auslastung beim Erreichen einer bestimmten Leistungsindikatorstufe nicht weiter gesteigert wird. So können Sie mit einem zielbasierten Auslastungsmuster beispielsweise eine Zunahme bis zu einem Auslastungsniveau von 75 % für einen Zielserver festlegen und die Auslastung anschließend auf dieser Stufe halten.

Wenn keines der vordefinierten Auslastungsmuster Ihren Anforderungen entspricht, haben Sie die Möglichkeit, benutzerdefinierte Auslastungstest-Plug-Ins zur Steuerung der Benutzerauslastung bei Tests zu implementieren. Weitere Informationen finden Sie unter Erweiterte Auslastungstestaufgaben.

Auswählen des geeigneten Verbindungsmodells

Es gibt zwei Typen von Verbindungsmodellen: Verbindungen pro Benutzer und Verbindungspool. Zur Auswahl des geeigneten Verbindungsmodells für den Auslastungstest ist das Verständnis der verschiedenen Typen wichtig.

Verbindungen pro Benutzer

Beim Modell Verbindungen pro Benutzer wird das Verhalten eines Browsers in einer realistischen Umgebung simuliert. Jeder virtuelle Benutzer, der einen Webtest ausführt, verwendet eine oder zwei reservierte Verbindungen zum Webserver, die ausschließlich dem Benutzer zugeordnet sind. Die erste Verbindung wird hergestellt, wenn im Webtest die erste Anforderung ausgegeben wird. Eine zweite Verbindung wird verwendet, wenn eine Seite mehr als eine abhängige Anforderung enthält. Diese Anforderungen können parallel über die beiden Verbindungen erfolgen. Diese beiden Verbindungen werden auch für die folgenden Anforderungen innerhalb des Webtests verwendet und nach Abschluss des Tests geschlossen.

Der Nachteil dieses Modells ist, dass die Zahl der geöffneten Verbindungen auf dem Agent-Computer die Benutzerauslastung bis um das Zweifache übersteigen kann und die Benutzerauslastung, die von einem einzelnen Auslastungstest-Agent gesteuert werden kann, durch die Ressourcen begrenzt wird, die zur Unterstützung dieser Verbindungen notwendig sind.

Verbindungspool

Das Verbindungspoolmodell schont die Ressourcen auf dem Auslastungstest-Agent, indem Verbindungen zum Webserver von mehreren virtuellen Webtestbenutzern gemeinsam verwendet werden. Beim Verbindungspoolmodell wird mit der Größe des Verbindungspools die maximale Anzahl von Verbindungen zwischen Auslastungstest-Agent und Webserver festgelegt. Wenn die Benutzerauslastung die Größe des Verbindungspools übersteigt, werden Verbindungen für die Webtests, die für verschiedene virtuelle Benutzer ausgeführt werden, gemeinsam verwendet.

Gemeinsames Verwenden von Verbindungen bedeutet in diesem Fall, dass ein Webtest möglicherweise mit der Ausgabe einer Anforderung warten muss, wenn die Verbindung von einem anderen Webtest verwendet wird. Die durchschnittliche Wartezeit für das Senden von Anforderungen eines Webtests wird vom Leistungsindikator für die Durchschnittliche Verbindungswartezeit des Auslastungstests aufgezeichnet Dieser Wert sollte weniger als die durchschnittliche Antwortzeit für eine Seite betragen. Ist dies nicht der Fall, ist die Größe des Verbindungspools wahrscheinlich zu klein.

Samplingrate und Datenerfassung

Wählen Sie eine passende Samplingrate auf Grundlage der Länge des Auslastungstests aus. Eine niedrige Samplingrate, z. B. fünf Sekunden, erfasst mehr Daten für die einzelnen Leistungsindikatoren als eine hohe Samplingrate. Beim Erfassen großer Datenmengen über einen längeren Zeitraum können Speicherplatzprobleme auftreten. Sie können die Samplingrate für lange Auslastungstests erhöhen, um die erfasste Datenmenge zu reduzieren. Die Anzahl von Leistungsindikatoren beeinflusst auch die erfasste Datenmenge. Wenn Sie die Anzahl der Leistungsindikatoren für Testcomputer reduzieren, verringert sich auch die erfasste Datenmenge.

Testen Sie die verschiedenen Samplingraten, um festzustellen, welche Samplingrate sich am besten für einen bestimmten Auslastungstest eignet. In der folgenden Tabelle sind empfohlene Samplingraten aufgeführt, die Sie zu Beginn verwenden können.

Dauer des Auslastungstests

Empfohlene Samplingrate

< 1 Stunde

5 Sekunden

1–8 Stunden

15 Sekunden

8–24 Stunden

30 Sekunden

> 24 Stunden

60 Sekunden

Reaktionszeit

Die Reaktionszeit für Webtestanforderungen hat erheblichen Einfluss auf die Anzahl von Benutzern, die mit einer angemessenen Antwortzeit unterstützt werden können. Wenn Sie die Reaktionszeit von zwei auf zehn Sekunden festlegen, kann in der Regel die fünffache Anzahl an Benutzern simuliert werden. Besteht Ihre Zielsetzung jedoch darin, reale Benutzer zu simulieren, sollten Sie die Reaktionszeit auf Grundlage der angenommenen Verwendung Ihrer Website durch die Benutzer festlegen. Das Erhöhen der Reaktionszeit und der Benutzeranzahl führt nicht unbedingt zu einer gesteigerten Auslastung Ihres Webservers. Bei einer authentifizierten Website beeinflusst der verwendete Schematyp die Leistung.

Wenn Sie Reaktionszeiten für einen Webtest deaktivieren, können Sie eventuell einen Auslastungstest generieren, bei dem ein höherer Datendurchsatz bezüglich der Anforderungen pro Sekunde erfolgt. Wenn Sie die Reaktionszeiten deaktivieren, sollten Sie auch die Benutzeranzahl auf einen wesentlich geringeren Wert festlegen als bei aktivierten Reaktionszeiten. Deaktivieren Sie beispielsweise Reaktionszeiten und führen einen Test mit 1000 Benutzern aus, wird wahrscheinlich entweder der Zielserver oder der Auslastungstest-Agent überlastet.

Weitere Informationen finden Sie unter Informationen über Reaktionszeiten.

Festlegen von Zielwerten für die Antwortzeit bei Webtestanforderungen

Eine der Eigenschaften einer Webtestanforderung ist das Antwortzeitziel. Wenn Sie bei der Ausführung eines Webtests innerhalb eines Auslastungstests Antwortzeitziele für Ihren Webtest festlegen, ermittelt der Auslastungstest-Analyzer den prozentualen Anteil von nicht erreichten Zielen des Webtests. In der Standardeinstellung sind keine Antwortzeitziele für Webanforderungen festgelegt.

Weitere Informationen finden Sie unter Gewusst wie: Festlegen von Seitenantwortzeitzielen in einem Webtest.

Einbeziehen von Zeitsteuerungsdetails zum Erfassen prozentualer Daten

Die Testlaufeinstellungen beinhalten eine Eigenschaft mit dem Namen Speicher für Details der zeitlichen Steuerung. Wenn diese Eigenschaft aktiviert ist, werden die Zeiten für die Ausführung der einzelnen Tests, Transaktionen und Seiten beim Auslastungstest im entsprechenden Ergebnisrepository gespeichert. Dadurch werden Ergebnisdaten mit zu 90 bis 95 Prozent erreichten Zielen im Auslastungstest-Analyzer in den Tabellen Tests, Transaktionen und Seiten angezeigt.

In der Standardeinstellung ist der Speicher für Details der zeitlichen Steuerung deaktiviert. Dafür gibt es zwei wichtige Gründe. Zunächst wird sehr viel Speicherplatz benötigt, um Daten der Zeitsteuerungsdetails im Ergebnisrepository für Auslastungstests zu speichern, insbesondere bei langen Auslastungstests. Weiterhin nimmt das Speichern der Daten im Ergebnisrepository für Auslastungstests am Ende des Tests viel Zeit in Anspruch, da die Daten bis zum Abschluss der Ausführung auf den Auslastungstests-Agents gespeichert werden.

Wenn für das Ergebnisrepository für Auslastungstests ausreichend Speicherplatz zur Verfügung steht, können Sie Speicher für Details der zeitlichen Steuerung aktivieren, um prozentuale Daten zu erfassen. Es stehen zwei Auswahlmöglichkeiten zum Aktivieren von Speicher für Details der zeitlichen Steuerung zur Verfügung: StatisticsOnly und AllIndividualDetails. Mit beiden Optionen werden alle Einzeltests, Seiten und Transaktionen zeitlich gesteuert, und prozentuale Daten werden über die einzelnen Zeitsteuerungsdaten erfasst. Bei der Auswahl von StatisticsOnly werden die einzelnen Zeitsteuerungsdaten im Repository nach der Berechnung der prozentualen Daten gelöscht. Das Löschen der Daten verringert den Speicherplatzbedarf im Repository. Wenn die Zeitsteuerungsdaten jedoch direkt mit SQL-Tools verarbeitet werden sollen, wählen Sie die Option AllIndividualDetails aus, sodass die Daten im Repository gespeichert werden.

Festlegen der Prozentsatz neuer Benutzer-Eigenschaft

Jedes Szenario in einem Auslastungstest verfügt über eine Eigenschaft mit dem Namen Prozentsatz neuer Benutzer. Diese Eigenschaft beeinflusst die Simulation der Zwischenspeicherung eines Webbrowsers im Auslastungstest-Laufzeitmodul. Der Standardwert für Prozentsatz neuer Benutzer beträgt 100. Das heißt, dass jede Webtestiteration, die in einem Auslastungstest ausgeführt wird, wie ein erstmaliger Zugriff eines Benutzers auf eine Website behandelt wird, wobei der Browsercache des Benutzers keine Daten aus vorherigen Websiteaufrufen enthält. Daher werden alle Anforderungen im Webtest, einschließlich aller abhängigen Anforderungen, wie z. B. Bilder, gedownloadet.

Hinweis:

Eine Ausnahme stellt dabei eine mehrmalige Anforderung der gleichen zwischenspeicherbaren Ressource in einem Webtest dar.

Wenn Sie einen Auslastungstest für eine Website ausführen, die eine erhebliche Anzahl von regelmäßigen Besuchern aufweist, bei denen der lokale Browsercache wahrscheinlich Bilder und andere zwischenspeicherbare Inhalte enthält, erfolgen durch die Verwendung des Standardwerts 100 für Prozentsatz neuer Benutzer mehr Downloadanforderungen als in einer realistischen Umgebung. Bei Auslastungstests für Websites mit einer hohen Anzahl regelmäßiger Besucher sollten Sie einen prozentualen Schätzwert für die erstmaligen Websiteaufrufe festlegen und den Wert dementsprechend für die Option Prozentsatz neuer Benutzer verwenden.

Aktivieren von SQL-Ablaufverfolgung

Die Testlaufeinstellungen beinhalten eine Eigenschaft mit dem Namen SQL-Ablaufverfolgung aktiviert. Mithilfe dieser Eigenschaft können Sie das Ablaufverfolgungsfeature von Microsoft SQL Server für die Dauer des Auslastungstests aktivieren. Dieses Feature stellt eine weitere Möglichkeit zum Starten einer separaten SQL Profiler-Sitzung bei der Ausführung des Auslastungstests dar, um SQL-Leistungsprobleme zu ermitteln. Wenn die Eigenschaft aktiviert ist, werden SQL-Ablaufverfolgungsdaten im Auslastungstest-Analyzer angezeigt. Die erfassten Daten werden in der Tabelle SQL-Ablaufverfolgung auf der Seite Tabellen angezeigt.

Um dieses Feature zu aktivieren, muss der Benutzer, der den Auslastungstest ausführt, über SQL-Berechtigungen zur Ausführung der SQL-Ablaufverfolgung verfügen. Wenn ein Auslastungstest auf einem Rig ausgeführt wird, benötigt der Controllerbenutzer diese SQL-Berechtigungen. Weiterhin muss ein Verzeichnis (normalerweise eine Netzwerkfreigabe) zum Schreiben der Ablaufverfolgungsdaten angegeben werden. Nach Abschluss des Auslastungstests wird die Ablaufverfolgungsdatei in das Auslastungstestrepository importiert und dem Auslastungstest zugeordnet, sodass die Datei zu einem späteren Zeitpunkt im Auslastungstest-Analyzer angezeigt werden kann.

Weitere Informationen finden Sie unter Informationen zu Testlaufeinstellungen und unter Gewusst wie: Integrieren von SQL-Ablaufverfolgungsdaten.

Verwalten einer angemessenen Anzahl von Agent-Computern

Wenn die CPU-Auslastung eines Agent-Computers mehr als 75 % beträgt oder weniger als 10 % physischer Speicher zur Verfügung steht, ist dieser Computer überlastet. Fügen Sie weitere Agents zum Rig hinzu, um sicherzustellen, dass der Agent-Computer beim Auslastungstest nicht zu Engpässen führt.

Weitere Informationen finden Sie unter Controller, Agents und Rigs.

Siehe auch

Aufgaben

Problembehandlung für Auslastungstests

Konzepte

Analysieren von Auslastungstestfehlern

Analysieren von Schwellenwertregelverletzungen

Weitere Ressourcen

Arbeiten mit Auslastungstests