Lesezeit
3 Minuten
Seite 2 - Last- und Performance-Tests optimal durchführen
Die kommerziellen Tools können mit einer breiten Palette von unterstützten Protokollen punkten. Lasttest-Skripte lassen sich mittels eines Capture-Replay-Mechanismus erstellen, manueller Programmieraufwand fällt nur für das Anpassen an die speziellen Anforderungen an. Weitere Pluspunkte: Das integrierte Monitoring der zu testenden Systeme und das effektive Reporting. Die Ergebnisse der Systemauslastung lassen sich direkt mit dem Reporting der Lasttest-Ergebnisse kombinieren. Die umfangreichen Reporting-Funktionen erleichtern die Auswertung, um schnell Ergebnisse zu liefern. Wo die wesentlichen Unterschiede liegen, zeigt die Tabelle " Unterschiede zwischen Open Source- und kommerziellen Tools".

Gängige Open Source Lasttest-Werkzeuge sind beispielsweise The Grinder, Apache JMeter, OpenSTA oder soapUI. Auf kommerzieller Seite kommen häufig LoadRunner, SilkPerformer, IBM Rational Performance Tester, Neotys, Zott+Co s_aturn zum Einsatz.
Sicherheitsvorkehrungen im Vorfeld
Risiken erkennen, passende technische Maßnahmen planen, durchsetzen und überprüfen hilft, für den Ernstfall gerüstet zu sein. Last- und Performancetests zeigen, ob das Risikomanagement der gewünschten Last standhält. Allerdings sollten die Testverantwortlichen im Vorfeld einige Sicherheitsvorkehrungen treffen.
So gilt es darauf zu achten, dass die angeschlossenen externen Systeme nicht überlastet und die möglicherweise produktiven Systeme negativ beeinflusst werden. Zudem empfiehlt es sich, vor den Lasttests Datenbank-Backups durchführen, um den aktuellen Stand zu sichern. Im Zweifel kann dieser dann schnell wieder hergestellt werden. Darüber hinaus sollten Administratoren kontrollieren, inwiefern die Lasttestdaten in angebundene Systeme einfließen und dort möglicherweise Inkonsistenzen verursachen.
Schrittweise testen
Erfahrene Testexperten gehen stufenweise vor und starten mit einer kleineren funktionalen Umgebung. Denn das "Tuning" zunächst bei kleineren Einheiten reduziert anschließend im Gesamtsystem den Aufwand deutlich. Das verhält sich ebenso wie bei bereits einzeln auskonfigurierten Netzwerk-Komponenten, die der Tester schrittweise angeht. Es genügt jedoch nicht, jede Komponente isoliert für sich zu prüfen. Im nächsten Schritt gilt es, das System in sich geschlossen auszutesten und, falls erforderlich, anzupassen. Um möglichst realistische Bedingungen zu schaffen, wird auf eine produktionsnahe Umgebung gewechselt. So lässt sich das Zusammenspiel aller Komponenten und beteiligten Systeme überprüfen, und es zeigt sich, ob die Schnittstellen der Wirklast und Hochlast standhalten.
Auch gilt es, die Anbindungen externer Systeme und deren Leistungsfähigkeit zu testen und zu dokumentieren. So gelingt es, mögliche Schwachstellen aufzudecken, die erst im Zusammenspiel auftreten. Typische Beispiele hierfür: Speicher-Leaks, Memory-Probleme, CPU-Engpässe oder Deadlocks. Bei Webservern zeigen sich Überlasten oder mögliche Probleme beim Session Handling. Auch Failover-Mechanismen, die nicht greifen und zum Zusammenbruch komplexer Umgebungen führen können, werden so identifiziert. Die Systemingenieure haben auf diesem Weg die Möglichkeit, die Systeme rechtzeitig zu skalieren und anzupassen. Parallel zu den Last- und Performancetests können sie Monitore entwickeln und testen oder die bestehenden Monitore im Kontext eines neuen Releases prüfen.
Vielseitige Möglichkeiten
Die Verantwortlichen können mittels des integrativen Ende-zu-Ende-Monitorings jeden Geschäftsprozess über alle Verarbeitungsschritte und Infrastrukturkomponenten überwachen. Mit Hilfe von Diagnose-Tools lassen sich schnell und proaktiv entstehende Probleme lokalisieren und vereinbarte Dienstgüteparameter (SLA) prüfen. Kommerzielle Tools liefern beispielsweise Agenten, die während eines Lasttests alle relevanten Informationen sammeln. Der Administrator kann dadurch auch zu einem späteren Zeitpunkt das Verhalten von Komponenten wie CPU oder Server Memory nachvollziehen.
Das Application Performance Management stellt einen kontinuierlichen Wissenstransfer zwischen Entwicklung, Qualitätssicherung und Betrieb sicher. In der Praxis bedeutet das beispielsweise bei der Einführung einer Software, dass deren Performance, Verfügbarkeit und Fehlerfreiheit unter Echtbedingungen gemessen werden. Zudem verbindet das Application Performance Management Entwicklungs-, Test- und Produktivphase und ermöglicht einen Austausch zwischen den einzelnen Prozessschritten. Die für die Lasttests entwickelten Skripte lassen sich auch für das Monitoring verwenden. Daten, etwa zu Fehlern, die unter Echtbedingungen gewonnen wurden, können ebenso in die Lasttests einfließen, und die Probleme lassen sich direkt auf einer Testumgebung nachstellen.
Der geschlossene Testkreislauf, in Fachkreisen Closed Loop Testing genannt, erhöht nicht nur entscheidend die Qualität, sondern ermöglicht auch eine effizientere Gestaltung der Last- und Performancetests sowie eine proaktive und transparente Überwachung des Betriebs.
Fazit
Die Zeitdauer, die für Testphasen angesetzt werden sollte, kann von Projekt zu Projekt stark schwanken und muss individuell abgeschätzt werden. Während ein umfassender Infrastrukturtest mehrere Monate dauern kann, lassen sich Stichproben innerhalb von ein bis zwei Wochen durchführen. Unterschiedlich ist auch der Zeitpunkt der Tests. In der Regel erfolgen die Tests vor dem Start eines Projekts. Manchmal geht es aber auch darum, mit Hilfe von Last- und Performance-Tests nachträglich festzustellen, ob ein Dienstleister die vertraglich vereinbarte Leistung erfüllt oder welcher Teil des Systems nicht die gewünschte Leistung bringt.
Ist ein Fehler aufgetreten und das Go-Live einer Anwendung misslungen, ist es immer schwierig, die vermeintliche Ursache direkt zu finden. An dieser Stelle unterstützen wir die System-Experten, Entwickler oder Administratoren unserer Kunden dabei, mittels Last und Performancetests die Fehler nachzustellen, die beispielsweise durch Überlasten ausgelöst wurden. So können die Verantwortlichen auf Kundenseite durch weitere Last- und Performancetests die Aktivitäten intern überprüfen, die Fehler beseitigen und die Anwendung erfolgreich starten.

Andreas Schulz, Test and Acceptance Management Solution Manager bei Atos/dr/ln
Gängige Open Source Lasttest-Werkzeuge sind beispielsweise The Grinder, Apache JMeter, OpenSTA oder soapUI. Auf kommerzieller Seite kommen häufig LoadRunner, SilkPerformer, IBM Rational Performance Tester, Neotys, Zott+Co s_aturn zum Einsatz.
Sicherheitsvorkehrungen im Vorfeld
Risiken erkennen, passende technische Maßnahmen planen, durchsetzen und überprüfen hilft, für den Ernstfall gerüstet zu sein. Last- und Performancetests zeigen, ob das Risikomanagement der gewünschten Last standhält. Allerdings sollten die Testverantwortlichen im Vorfeld einige Sicherheitsvorkehrungen treffen.
So gilt es darauf zu achten, dass die angeschlossenen externen Systeme nicht überlastet und die möglicherweise produktiven Systeme negativ beeinflusst werden. Zudem empfiehlt es sich, vor den Lasttests Datenbank-Backups durchführen, um den aktuellen Stand zu sichern. Im Zweifel kann dieser dann schnell wieder hergestellt werden. Darüber hinaus sollten Administratoren kontrollieren, inwiefern die Lasttestdaten in angebundene Systeme einfließen und dort möglicherweise Inkonsistenzen verursachen.
Schrittweise testen
Erfahrene Testexperten gehen stufenweise vor und starten mit einer kleineren funktionalen Umgebung. Denn das "Tuning" zunächst bei kleineren Einheiten reduziert anschließend im Gesamtsystem den Aufwand deutlich. Das verhält sich ebenso wie bei bereits einzeln auskonfigurierten Netzwerk-Komponenten, die der Tester schrittweise angeht. Es genügt jedoch nicht, jede Komponente isoliert für sich zu prüfen. Im nächsten Schritt gilt es, das System in sich geschlossen auszutesten und, falls erforderlich, anzupassen. Um möglichst realistische Bedingungen zu schaffen, wird auf eine produktionsnahe Umgebung gewechselt. So lässt sich das Zusammenspiel aller Komponenten und beteiligten Systeme überprüfen, und es zeigt sich, ob die Schnittstellen der Wirklast und Hochlast standhalten.
Auch gilt es, die Anbindungen externer Systeme und deren Leistungsfähigkeit zu testen und zu dokumentieren. So gelingt es, mögliche Schwachstellen aufzudecken, die erst im Zusammenspiel auftreten. Typische Beispiele hierfür: Speicher-Leaks, Memory-Probleme, CPU-Engpässe oder Deadlocks. Bei Webservern zeigen sich Überlasten oder mögliche Probleme beim Session Handling. Auch Failover-Mechanismen, die nicht greifen und zum Zusammenbruch komplexer Umgebungen führen können, werden so identifiziert. Die Systemingenieure haben auf diesem Weg die Möglichkeit, die Systeme rechtzeitig zu skalieren und anzupassen. Parallel zu den Last- und Performancetests können sie Monitore entwickeln und testen oder die bestehenden Monitore im Kontext eines neuen Releases prüfen.
Vielseitige Möglichkeiten
Die Verantwortlichen können mittels des integrativen Ende-zu-Ende-Monitorings jeden Geschäftsprozess über alle Verarbeitungsschritte und Infrastrukturkomponenten überwachen. Mit Hilfe von Diagnose-Tools lassen sich schnell und proaktiv entstehende Probleme lokalisieren und vereinbarte Dienstgüteparameter (SLA) prüfen. Kommerzielle Tools liefern beispielsweise Agenten, die während eines Lasttests alle relevanten Informationen sammeln. Der Administrator kann dadurch auch zu einem späteren Zeitpunkt das Verhalten von Komponenten wie CPU oder Server Memory nachvollziehen.
Das Application Performance Management stellt einen kontinuierlichen Wissenstransfer zwischen Entwicklung, Qualitätssicherung und Betrieb sicher. In der Praxis bedeutet das beispielsweise bei der Einführung einer Software, dass deren Performance, Verfügbarkeit und Fehlerfreiheit unter Echtbedingungen gemessen werden. Zudem verbindet das Application Performance Management Entwicklungs-, Test- und Produktivphase und ermöglicht einen Austausch zwischen den einzelnen Prozessschritten. Die für die Lasttests entwickelten Skripte lassen sich auch für das Monitoring verwenden. Daten, etwa zu Fehlern, die unter Echtbedingungen gewonnen wurden, können ebenso in die Lasttests einfließen, und die Probleme lassen sich direkt auf einer Testumgebung nachstellen.
Der geschlossene Testkreislauf, in Fachkreisen Closed Loop Testing genannt, erhöht nicht nur entscheidend die Qualität, sondern ermöglicht auch eine effizientere Gestaltung der Last- und Performancetests sowie eine proaktive und transparente Überwachung des Betriebs.
Fazit
Die Zeitdauer, die für Testphasen angesetzt werden sollte, kann von Projekt zu Projekt stark schwanken und muss individuell abgeschätzt werden. Während ein umfassender Infrastrukturtest mehrere Monate dauern kann, lassen sich Stichproben innerhalb von ein bis zwei Wochen durchführen. Unterschiedlich ist auch der Zeitpunkt der Tests. In der Regel erfolgen die Tests vor dem Start eines Projekts. Manchmal geht es aber auch darum, mit Hilfe von Last- und Performance-Tests nachträglich festzustellen, ob ein Dienstleister die vertraglich vereinbarte Leistung erfüllt oder welcher Teil des Systems nicht die gewünschte Leistung bringt.
Ist ein Fehler aufgetreten und das Go-Live einer Anwendung misslungen, ist es immer schwierig, die vermeintliche Ursache direkt zu finden. An dieser Stelle unterstützen wir die System-Experten, Entwickler oder Administratoren unserer Kunden dabei, mittels Last und Performancetests die Fehler nachzustellen, die beispielsweise durch Überlasten ausgelöst wurden. So können die Verantwortlichen auf Kundenseite durch weitere Last- und Performancetests die Aktivitäten intern überprüfen, die Fehler beseitigen und die Anwendung erfolgreich starten.
<<Vorherige Seite Seite 2 von 2
Andreas Schulz, Test and Acceptance Management Solution Manager bei Atos/dr/ln