Schwerpunkt DienstprogrammeWeb Capacity Analysis Tool

Greg Steen

Weblogs und Verlaufsanalysen des Datenverkehrs können Ihnen Einblick darin gewähren, welche Art von Datenverkehr Sie im Laufe der Zeit erwarten können, aber wie können Sie herausfinden, was Ihre Infrastruktur wirklich bewältigen kann? Um dies herauszufinden, benötigen Sie ein Tool, das Ihre Infrastruktur und den zugehörigen Anwendungsstapel bis zum Äußersten belasten kann. Ein derartiges Tool ist das kostenlose Web Capacity Analysis Tool (WCAT), ein einfaches Dienstprogramm zur Lastgenerierung, das an einem Webserver (oder einer Serverfarm mit Lastenausgleich) HTTP-Anforderungsskripts ausführt und dabei Leistungsstatistiken für eine spätere Analyse erstellt. Die aktuelle Version (6.3.1 beim Verfassen dieses Artikels) ist sowohl für x86- als auch für x64-Windows-Systeme verfügbar (x86: iis.net/downloads/1466/ItemPermaLink.ashx; x64: iis.net/downloads/1467/ItemPermaLink.ashx) und bietet Unterstützung für IPv6-Netzwerke. Da WCAT außerdem eine Multithreadanwendung ist und mehrere von einer einzigen Quelle aus gesteuerte Auslastungstestclients unterstützt, können Sie damit Tausende gleichzeitiger Benutzer simulieren.

Dieses Dienstprogramm ermöglicht Ihnen, Ihre alten Computer zu Testclients umzufunktionieren, und jeder dieser Testclients kann mehrere virtuelle Clients erzeugen (die maximale Zahl hängt von den Netzwerkadaptern und sonstiger Hardware des Clientcomputers ab). Sie können entweder HTTP 1.0- oder HTTP 1.1-Anforderungen mit oder ohne SSL wählen. Falls Ihr Testszenario dies erfordert, können Sie auch Standard- oder NTLM-Skriptauthentifizierung verwenden, um Zugang zu den eingeschränkten Bereichen Ihrer Website zu erhalten. (Wenn Ihre Website eine auf Cookies, Formularen oder Sitzungen basierende Authentifizierung verwendet, können Sie die richtige GET- oder POST-Anforderung erstellen, um Ihren Testbenutzer zu authentifizieren.) Da WCAT auch alle Cookies verwaltet, die Ihre Website möglicherweise verwendet, werden Profil- und Sitzungsinformationen beibehalten.

WCAT kann Ihnen helfen, die Belastungsgrenzen Ihrer Website-Infrastruktur zu testen.

WCAT kann Ihnen helfen, die Belastungsgrenzen Ihrer Website-Infrastruktur zu testen.  (Klicken Sie zum Vergrößern auf das Bild)

WCAT wird von einem hervorragenden Benutzerhandbuch begleitet, das mir geholfen hat, schnell eine Microsoft® .NET Framework-Konsolenanwendung zu erstellen, die basierend auf Benutzerverkehrsdaten aus dem Verlauf des überwachten Websitedatenverkehrs ein Testclientskript generierte und mir dadurch ermöglichte, vor der Bereitstellung einen realen Datenverkehr mit einer neuen Codebasis zu simulieren. Wenn sich unter Ihren Mitarbeitern ein C-Programmierer befindet, können Sie benutzerdefinierte Funktionen und Antworthandler erstellen, die von Ihren Szenariodateien aufgerufen werden können, um die Funktionalität an Ihre Umgebung anzupassen.

Um WCAT verwenden zu können, müssen Sie zwei Dateien konfigurieren: eine Steuerdatei, in der die allgemeinen Testeinstellungen (z. B. die Anzahl der Clients, die Anzahl der virtuellen Clients pro Client, die nachzuverfolgenden Leistungsindikatoren und der Webserver, bei dem Sie den Test durchführen) enthalten sind, sowie eine Szenariodatei, die das Testszenario, die Standardanforderungsparameter und alle Verweise auf benutzerdefinierte Funktionen und Bibliotheken enthält.

Die Anwendung protokolliert die Testergebnisse in einer XML-Datei, auf die Sie das beiliegende XSL-Stylesheet anwenden können, um beim Anzeigen in Internet Explorer® eine organisierte tabellarische Aufstellung der Ergebnisse zu erhalten. Der Bericht enthält zusammengefasste Informationen wie z. B. die Anzahl der ausgeführten Transaktionen, die vorgenommenen Kontextwechsel, die prozentuale CPU-Auslastung (für alle CPUs) sowie die Gesamtanzahl der aufgetretenen Fehler. Sie erhalten auch eine Abschnittsliste mit den Ergebnissen der Leistungsindikatoren, die Sie in der Einstellungsdatei konfiguriert haben (ein Beispiel finden Sie im Bildschirmfoto), eine Antwortzeitanalyse, einen transaktionsspezifischen Statistikbericht, einen nach Clients aufgeschlüsselten Abschnitt sowie Informationen zur Konfiguration Ihres Testsetups. Darüber hinaus werden die Hardwarekonfiguration des getesteten Remotewebservers sowie eine Liste aller installierten Updates angezeigt. Dies ist eine hervorragende Methode, um zu ermitteln und nachzuverfolgen, ob ein Patch Auswirkungen auf die Leistungsfähigkeit Ihrer Website haben wird.

Wenn Sie eine Website-Infrastruktur verwalten, kann Ihnen das Dienstprogramm WCAT also vor der nächsten großen Codeversion helfen, einen Einblick darin zu gewinnen, was Ihre Plattform bei hoher Belastung leisten wird.

Greg Steen ist Technologieexperte, Unternehmer und Enthusiast. Er ist immer auf der Suche nach neuen Tools, um IT-Experten Betriebs-, Qualitätssicherungs- und Entwicklungsprozesse zu erleichtern.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.