[Translate to English:] Last und Performancetests von Webapplikationen
[Translate to English:] Ich habe bereits seit 1999 Erfahrung in Lasttests bzw. Performancetests von zahlreichen Web-Applikationen in verschiedenen Unternehmen. Diese habe ich beispielsweise mit Hilfe folgender Tools durchgeführt:
- Mercury Loadrunner
- Microsoft Web Application Stress Test Tool (früher WAST, jetzt ACT)
- Microsoft Load Test
- Radview WebLoad
- Apache JMeter
- Cyrano QTest
- Open STA
- Paessler WST
- Empirix eLoad
Es sind verschiedene Testszenarien möglich:
- Performancetest: Dabei werden bestimmte Testfälle aus dem Systemtest unter Last durchgeführt. Dadurch wird die Skalierbarkeit verschiedener Funktionen (Transaktionen) der Applikation ermittelt.
- Lasttest: Hierbei werden in einem oder mehreren Szenarien gesamte Prozessketten unter Last durchgeführt. Hierbei wird die Skalierbarkeit des ganzen Szenarios ermittelt. Sie stellen die praxisnahere Variante dar, sind jedoch aufwendiger in der Planung und Ausführung sowie in der Definition des Testendekriteriums.
- Stresstest: Dies ist ein Lasttest, der im oberen Grenz- bzw. Belastungsbereich durchgeführt wird. Dabei lassen sich sehr gut Performancegrenzen und sogenannte Flaschenhälse (Bottlenecks) ermitteln.
- Niederlasttest: Dies ist Lasttest, der absichtlich im unteren Grenzbereich durchgeführt wird. Er dient bspw. zur Ermittlung von Lastverteilungen bei Server-Clustern bzw. Loadbalancing-Systemen, zum Testen des Server-Loggings, zum Untersuchen des Interaktionsverhaltens der virtuellen User oder auch zum Untersuchen des Netzwerk- bzw. Nachrichtenverkehrs auf den jeweiligen Systemen.
- Dauerlasttest: Ein Lasttest, der sich über mehrere Tage erstreckt. Dabei lassen sich Probleme mit Speicherlecks (Memory-Leacks) oder mit einem falsch eingestellten Logging feststellen.
- Fail-Over-Test: Durch Notfallszenarien wie bspw. extrem hohe Last oder durch das Ausschalten von Systemen unter Last kann überprüft werden, wie sich die Applikation bzw. die Systeme verhalten. Dadurch wird überprüft, ob die vorhandene Redundanz ausreicht, die Systeme keine Hardwareausfälle bekommen oder ob die betreffenden Notfallpläne richtig definiert sind.
Die Test können auch unter Einsatz mehrerer lasterzeugender Clients durchgeführt werden.
Es sind aber auch Szenarien möglich, bei denen eine kleine Bandbreite der Netzwerkanbindung der Clients simuliert wird. Zum Beispiel mit dem Einsatz der Software Shunra - The Cloud.
Das Testen von Server-Clustern bzw. mehreren IT-Systemen in einem einzigen Szenario lässt sich ebenfalls in Tests durchführen.
Bei den Tests werden von den Servern und den Clients verschiedene Kenndaten (Performance-Parameter) ermittelt. Solche Kennzahlen können die Windows-Performance-Monitoring-Parameter sein, Netzwerkkennzahlen oder auch Performance-Parameter bspw. von IIS, MySQL oder Apache. Durch das Ermitteln der während der Tests aufgetretenen Maximalwerte dieser jeweiligen Kenndaten lassen sich durch verschiedene Korrelationsfunktionen Abhängigkeiten bzw. Bottlenecks in der Applikation, verbundenen Systemen oder dem Netzwerk ermitteln.
Als Orientierung für die Planung eines Last- und Performancetests kann auch die DIN 66273 dienen. Sie enthält auch Aussagen über die Mess- und Bewertungsverfahren der Leistung bei komplexen IT-Systemen.




