1

Ich habe ein paar posts in Bezug auf Stresstests IIS bemerkt, aber ich bin mehr daran interessiert zu wissen, eine gute Möglichkeit, eine Benchmark zu etablieren, was mein physischer Webserver verarbeiten kann.Was ist ein guter Benchmark-Test für das Testen von Lasten in einem Produktionssystem mit IIS?

Ich arbeite gerade an einem Produktionssystem, das täglich fast zum Stillstand kommt, und niemand kann herausfinden, was das Problem verursacht. Dies ist Ihre Standard-N-Tier-Konfiguration (Client, Webserver, Datenbankserver). Ich habe einige einfache ASP.NET-Seiten erstellt, die einige einfache Dinge tun können, die ich verwende, um einen Benchmark für Stresstests zu erstellen, den ich später beim Vergleich mit dem bereits vorhandenen Produktionssystem verwenden kann.

Ich habe bereits eine Beispiel-ASPX-Seite gebaut, die einfach einige Webserver-Statistiken über die Box-Nutzungen zurückgibt, nichts Schweres, vielleicht ein paar Zeilen Code. Ich habe auch einen einfachen Webdienst (asmx) erstellt, der eine DB-Verbindung mit der richtigen ID testet, wiederum nichts Schweres, nur eine Datenbankverbindung und eine Beispielabfrage, die nichts wirklich macht.

Was würde Ich mag es, wissen, was ist ein gutes Stressniveau, dass die folgenden Tests unter arbeiten sollten? Insbesondere verwende ich Microsoft Web Application Stress Tool, und ich bin gespannt, was die meisten Leute die und der Stress-Multiplier Stresslevelakzeptabel Bereiche erwarten sein sollten. Ich weiß bereits, an welcher Stelle der Webserver beginnt zu knicken, seine etwa 20 Stress Level und 10 Stress Multiplier geben oder nehmen, was etwa ~ 275 Seitenanfragen pro Sekunde ergibt. Ich versuche herauszufinden, ob diese Zahl viel zu niedrig ist, und ob das ein Anzeichen dafür ist, dass ein Problem zwischen dem Client und dem Webserver besteht oder ein Hardwareproblem vorliegt oder ob es sich eher um ein Anzeichen dafür handelt nichts falsch und das System ist einfach zu schwer.

UPDATE: Da ich ursprünglich diesen Beitrag schrieb der Code auf einen Server verschoben wurde Windows 2003 ausgeführt wird unter Verwendung von IIS 7.

Was Ich mag würde jetzt wissen, ist, wenn ich einen relativ einfachen Test einrichten B. eine einfache index.html-Datei, die nur eine kleine Seite ausfüllt, was würden Sie von den "besten" Seitenanfragen pro Sekunde erwarten, die ich von einem Stresstest erzielen könnte?

+0

wird das überhaupt noch unterstützt? Ich wäre besorgt, Sie würden keine Sicherheitsupdates erhalten ... –

+0

Ist Ihre Website öffentlich zugänglich? –

+0

Hallo Mitch, danke für die Fragen. Leider habe ich nicht die Kontrolle darüber, wie der Webserver konfiguriert ist, aber ich glaube, es läuft IIS 5.2. Teile der Site sind öffentlich zugänglich, aber es ist wirklich nicht dafür gedacht. Es ist tatsächlich ein Web-Service-Modell, um Anwendungs-Clients zu unterstützen. – Joseph

Antwort

1

Was würde Ich mag jetzt wissen, ist, wenn ich einen relativ einfachen Test eingerichtet, wie eine Grund Datei index.html, die dient nur eine kleine Seite nach oben, was würden Sie erwarten, dass die " Beste "Seitenanfragen/Sek. Ich konnte aus einem Stresstest erzielen?

Ich kann nicht über die Microsoft Web Application Stress Tool, aber es sollte möglich sein, dreschen eine statische HTML-Seite auf IIS, bis entweder das Netzwerk zwischen dem Testgerät und dem Server Überschwemmungen oder dem Testserver läuft aus CPU sprechen um die Tests zu erstellen und zu kompilieren. Alles, was ISS tun würde, ist jedes Mal die gleiche zwischengespeicherte Antwort zu senden.

Um ein gutes Profil der Funktionsweise Ihrer Site zu erhalten, müssen Sie eine gute Darstellung des tatsächlichen Traffics auf der Site erstellen. Nachdem Sie das Modell erstellt haben, können Sie die Anzahl der Personen, die es verwenden, vergrößern, um herauszufinden, welche Seiten am langsamsten sind und welche Serverressourcen zuerst an der Wand stehen.

Entweder haben Sie eine oder mehrere Seiten, deren Leistung für eine bestimmte Auslastung inakzeptabel ist, oder einige Serverstatistiken wie Festplattennutzung oder Datenbankleistung werden überlastet.

Sofern Sie nicht auf einer Website testen, die auf der gleichen Architektur wie Ihre Produktionsstätte gehostet wird, sind Architekturempfehlungen schwer zu erstellen.

Bei leistungsschwachen Seiten ist es einfacher, Verbesserungen vorzunehmen, da der Code für die Analyse verfügbar ist.

Ich empfehle Visual Studio Ultimate Edition zu laden Test, wenn Sie es bekommen können. Es gibt auch einige ASP.NET-Profiling-Tools, um Abschnitte von Code- und Datenbankaufrufen zu verstehen.

+0

Danke für die Info. Zu der Zeit, als ich versuchte zu identifizieren, wo unser System einen Engpass hatte, war meine Idee, eine statische Seite einzurichten (da IIS es sehr schnell hochfahren kann), und zu sehen, ob es selbst auf dieser Seite inakzeptable Leistung gab. Ich könnte dann diese Ergebnisse nehmen und zeigen, dass unser Server nicht wirklich das Problem war, dass es etwas dazwischen gab, das das Problem verursachte (Load Balancer, allgemeine Netzwerktopologie, etc.) Am Ende war es der RAM in unserer Datenbank Server wurde ohne Erklärung halbiert, wenn ich mich richtig erinnere. – Joseph

+0

Ja, IIS ist ziemlich gut in der Optimierung für statische Seiten. – Nat