Suchen

IT-Systeme auf Herz und Nieren prüfen Last- und Performance-Tests unter der Lupe

| Autor / Redakteur: Andreas Schulz / Dipl.-Ing. (FH) Andreas Donner

Unerreichbare oder überlastete Websites sind ein Gräuel – und bei Shop-Systemen nicht nur Imageschädigend. Mit gezielten Last- und Performance-Tests lassen sich solche Horrorszenarien im Vorfeld erkennen und verhindern.

Langsame Ladezeiten und Time-outs auf Shop-Seiten verprellen Kunden
Langsame Ladezeiten und Time-outs auf Shop-Seiten verprellen Kunden

Nicht selten nehmen Unternehmen viel Geld in die Hand, wenn sie Online-Projekte wie einen neuen Web-Shop ankündigen und live schalten. Und oft geht der Plan auf: schon am ersten Tag ist der Ansturm groß – manchmal zu groß! Das System stürzt ab, der Shop ist nicht erreichbar. Abgesehen vom Imageschaden sind die potenziellen Kunden genervt und verlieren schnell das Interesse. Doch mit gezielten Last- und Performance-Tests im Vorfeld sind solche Horrorszenarien vermeidbar, und auch Aufbaugeschwindigkeiten und Ladezeiten lassen sich exakt bestimmen.

Dass ein Online-Shop oder eine andere betriebswirtschaftlich bedeutende Anwendung zuverlässig und reibungslos funktioniert, ist für viele Unternehmen überlebenswichtig. Denn ist der Geduldsfaden beim User erst gerissen, wenden sich die potenzielle Käufer oft kurzerhand dem Angebot eines Mitbewerbers zu.

Dazu muss es gar nicht erst zum Äußersten, also dem Stillstand eines kritischen IT-Systems, kommen. 40 Prozent der Nutzer verlassen einen Online-Shop bereits, wenn die Ladezeit der Seite nur drei Sekunden überschreitet, wie Forrester Consulting herausfand. Darüber hinaus sind zügige Bezahlvorgänge, schnelle Ladezeiten und eine gute Shop-Performance entscheidend für die Loyalität zu einer Webseite.

Um Störungen oder gar Ausfälle des Systems zu vermeiden und seine Qualität dauerhaft zu sichern, sind Last- und Performancetests eine wichtige Komponente für die System-Administration. Gerade bei geplanten Software-Upgrades, der Einrichtung eines Web-Shops oder auch großen Marketingkampagnen, die ein erhöhtes Besucheraufkommen auf den eigenen Internetseiten generieren, sind derartige Tests von unschätzbarem Nutzen. Es geht jedoch nicht darum, Fehler im Code einer Applikation zu finden. Das Ziel ist es vielmehr, mit Hilfe eines strukturierten und methodischen Vorgehens zu erwartende Abweichungen der Systemanforderungen aufzudecken sowie die Performance- und Lastbedingungen im Vorfeld festzulegen.

Testen statt belasten

Mit Lasttests lässt sich das Systemverhalten bei unterschiedlichen Arbeitslasten messen. Die IT-Verantwortlichen erhalten so zuverlässige Kennzahlen für die Kapazitätsplanung und können so entscheiden, ob die vorhandenen Ressourcen den geschäftlichen Anforderungen gerecht werden. Die Testsysteme erfassen Skalierbarkeit, Durchsatz und Stabilität von Anwendungen, Betriebssystemen, Applikationsservern, Datenbanken und Netzwerken. Während des Tests wird die Last nach und nach erhöht, bis das gewünschte Maß erreicht ist. So ist klar erkennbar, welche Stabilität unter welcher Last zu erwarten ist.

Performance-Tests hingegen zielen darauf ab, Verarbeitungsgeschwindigkeiten und Antwortzeiten bei steigender Last zu ermitteln. Die Messung wird aus Sicht des Anwenders vorgenommen, erfolgt aber in den meisten Fällen in einer Testumgebung. So lassen sich Performance-Risiken vor der Implementierung feststellen und beseitigen. Zudem ist erkennbar, welche Leistung hinter den unterschiedlichen Geschäftsprozessen steckt.

Beim Testen lohnt es sich, stufenweise vorzugehen und mit einer kleineren funktionalen Umgebung zu starten. Im nächsten Schritt gilt es, beispielsweise ein neues Software-Produkt in sich geschlossen auszutesten und, falls erforderlich, anzupassen. Im anschließenden Systemtest wird auf eine möglichst produktionsnahe Umgebung gewechselt – inklusive externer Anbindungen. Fängt man mit dem 'Tuning' bei den kleineren Einheiten an, ist der Aufwand hinterher im Gesamtsystem deutlich geringer – ebenso wie bei bereits einzeln auskonfigurierten Komponenten, die man schrittweise zusammensetzt. In der Regel werden Tests nicht im Produktivsystem durchgeführt, sondern in einer simulierten Umgebung.

Die Gründe für Performance- und Lasttests sind:

  • Ressourcenoptimierter Einsatz der vorhandenen Infrastruktur inklusive der Software-Lizenzen
  • Analyse der Auswirkungen von funktionellen, technischen oder organisatorischen Veränderungen
  • Frühzeitiges Identifizieren von Performance-Problemen
  • Kennzahlen zu Performance, Stabilität und Kapazität geschäftskritischer Anwendungen
  • Identifizieren von Engpässen und möglicher Lösungen
  • Überwachung zeitkritischer Systeme und Transaktionen

Je geschäftskritischer desto lohnenswerter

Sehr unterschiedlich ist die anzusetzende Dauer der Testphasen. Stichproben lassen sich in etwa ein bis zwei Wochen durchführen, ein umfassender Infrastrukturtest kann mehrere Monate dauern. Grundsätzlich gilt: Je geschäftskritischer das Projekt, desto weniger Risiko sollte in Kauf genommen und desto ausführlicher sollte getestet werden.

Das zeigt etwa das Beispiel der Olympischen Spiele: Um bei diesem hoch medialen und kritischen Großereignis jede noch so kleine Störung von Vorneherein auszuschließen, investiert Atos als weltweiter IT-Partner im Vorfeld rund 200.000 Stunden Arbeit in über 9.000 Testläufe. Die Tests beginnen bereits Jahre vor der eigentlichen Veranstaltung.

Manchmal geht es jedoch 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. Wann dies lohnenswert ist, zeigt das Beispiel einer großen deutschen Handelskette: Das Unternehmen hatte ein neues System für seinen Online-Shop eingeführt. Mithilfe eines Scroll-Balkens konnten die Kunden die gewünschte Anzahl der jeweiligen Artikel eingeben, wobei automatisch eine Abfrage in der Datenbank ausgelöst wurde. Daraufhin brach das System zusammen. Das Problem: Selbst bei wenigen Besuchern war die Kapazität schnell ausgeschöpft. Ein Lasttest zeigte, dass aufgrund einer falschen Logik bei jeder Eingabe Unmengen von Datenbankanfragen ausgelöst wurden. Für die Handelskette ging dadurch ein Teil des Weihnachtsgeschäftes verloren, da viele Kunden aufgrund der mangelnden Funktionalität auf die Portale anderer Anbieter ausgewichen waren.

Hausgemacht ist nicht immer besser

Ein Testprojekt übersteigt schnell die Kapazitäten der internen IT-Abteilung, insbesondere wenn es um komplexe Neuerungen oder geschäftskritische Systeme geht. In der Regel sind die eigenen Mitarbeiter mit dem Tagesgeschäft ausgelastet, so für ein zusätzliches Testprojekt oft die IT-Ressourcen fehlen. In diesem Fall ist es ratsam, Experten mit langjähriger Erfahrung in puncto Last- und Performance-Tests einzuschalten.

Zum einen können sie eine objektive Risikobewertung abgeben – einschließlich einer Empfehlung, welche Tools geeignet und welche Tests überhaupt sinnvoll sind. Zum anderen setzen sich die Testteams spezialisierter IT-Dienstleister aus Experten mit unterschiedlichen fachlichen Schwerpunkten zusammen, ob für Applikationsumgebungen wie SAP und Citrix oder für spezielle Technologien.

Obendrein haben sie einen Überblick über sämtliche Testwerkzeuge am Markt und können einschätzen, welches sich am besten für eine spezielle Anforderung eignet. In der internen Fachabteilung ist dieses Experten-Know-how dagegen selten in dieser Breite vorhanden.

Fazit

Last- und Performance-Tests erhöhen auf den ersten Blick zwar das Projektvolumen und können die Einführung neuer Systeme und Lösungen verzögern. Dennoch nehmen viele verantwortungsbewusste IT-Leiter diesen Aufwand gerne in Kauf. Zu Recht, wenn man die schwerwiegenden Folgen von Systemausfällen betrachtet.

Performance- und Lasttests bewahren Unternehmen vor unliebsamen Überraschungen und helfen ihnen, ihre IT richtig zu dimensionieren. Damit lassen sich Kosten für Ausfälle und auch für unnötige Hardware und Software vermeiden.

Über den Autor

Andreas Schulz ist Test and Acceptance Management Solution Manager bei Atos

(ID:30453850)