Lasttests über­prü­fen die Sta­bi­li­tät einer Anwendung oder loten ihre Grenzen aus. Es gibt zahl­rei­che kos­ten­lo­se und kos­ten­pflich­ti­ge Lasttest-Tools auf dem Markt. Der Lasttest (ab­ge­lei­tet von engl. Load testing) ist eine Mög­lich­keit, Software auf ihre Markt­rei­fe zu prüfen oder bereits be­stehen­de Systeme hin­sicht­lich ihrer Be­last­bar­keit zu testen. Bei Lasttests geht es darum, her­aus­zu­fin­den, wie viel ein System maximal leisten kann, bevor die Per­for­mance si­gni­fi­kant nachlässt und daher der an­ge­bo­te­ne Service nicht mehr in vollem Umfang erbracht werden kann. Dafür werden Be­las­tun­gen simuliert, die das System her­aus­for­dern und ir­gend­wann an seine Grenzen bringen. Dafür werden entweder zahl­rei­che gleich­zei­ti­ge Zugriffe vor­ge­spielt oder bestimmte Aktionen in schneller Abfolge wie­der­holt. Das System reagiert auf diese Lasttests best­mög­lich und wird bei einer Über­be­an­spru­chung nicht ge­schä­digt.

Was ist das Ziel eines Lasttests?

Lasttests können für ver­schie­de­ne Zwecke ein­ge­setzt werden. In der agilen Software-Ent­wick­lung bei­spiels­wei­se gehören Lasttests zur Qua­li­täts­si­che­rung. Bevor eine neue Software auf den Markt kommt, wird dabei überprüft, mit welchen An­for­de­run­gen das Programm umgehen kann und wo das Ende seiner Leis­tungs­fä­hig­keit erreicht ist. Auch Fehler, die in vor­he­ri­gen Ar­beits­schrit­ten übersehen wurden, können durch einen Lasttest sichtbar gemacht werden. Es wird überprüft, wie ein System eine un­er­war­te­te Mehr­be­las­tung ver­ar­bei­tet, ab welchem Punkt es zu Ein­schrän­kun­gen kommt und wie schnell die Re­ak­ti­ons­zeit auf Fehler ist.

Welche Lasttests gibt es?

Lasttest ist dabei nicht gleich Lasttest. Es gibt ver­schie­de­ne Ansätze, die für un­ter­schied­li­che Ein­satz­zwe­cke kon­zi­piert wurden. Die Un­ter­schei­dun­gen sind dabei nicht ganz eindeutig und die Produkte einiger Anbieter er­mög­li­chen auch ver­schie­de­ne Arten der Lasttests. Grob kann man al­ler­dings von vier ver­schie­de­nen Gruppen sprechen.

Der Per­for­mance­test

Der Per­for­mance­test kann auch als klas­si­scher Lasttest be­zeich­net werden und ist si­cher­lich die ein­fachs­te Form dieser Test­mög­lich­kei­ten. Die An­for­de­run­gen, die an ein System gestellt werden, sind dabei ver­gleichs­wei­se gering. Überprüft wird, ob ein neues oder be­stehen­des System die zu er­war­ten­den Be­las­tun­gen aushält und ob die Qualität der Per­for­mance wäh­rend­des­sen gleich­bleibt. Diese Art der Lasttests eignet sich z. B. für Web-Apps, die mit einer be­stimm­ten Anzahl gleich­zei­ti­ger Zugriffe umgehen können sollen. Der Lasttest simuliert diese Zugriffe und überprüft, ob die Re­ak­ti­ons­zei­ten den Er­war­tun­gen ent­spre­chen.

Der Ka­pa­zi­tä­ten­test

Diese Art des Lasttests geht einen Schritt weiter. Statt zu fragen „Kann mein System, was es soll?“, lautet die Frage hier eher „Was kann mein System ei­gent­lich?“. Es wird daher nicht ein zu er­war­ten­der Ansturm simuliert, sondern die Belastung suk­zes­si­ve erhöht. Dafür muss im Vorfeld fest­ge­legt werden, was genau die An­for­de­run­gen sind, die das System erfüllen soll. Geht man bei­spiels­wei­se von der Ant­wort­zeit aus, muss vorher überlegt werden, wie schnell das System reagieren soll. Dann beginnt der Lasttest und stellt nach und nach höhere An­for­de­run­gen. Dies geht so lange weiter, bis das System an seine Grenzen gerät.

Der Stress­test

Die erneute Stei­ge­rung ist der Stress­test. Diese Her­an­ge­hens­wei­se setzt im Prinzip dort an, wo der Ka­pa­zi­tä­ten­test aufhört. Während man bei diesem schaut, wie weit man das System skalieren kann und dann beim maximalen Wert aufhört, über­trifft man diesen Wert beim Stress­test ab­sicht­lich. Es geht hierbei nicht darum, wie viel das System leisten kann, sondern wie es reagiert, wenn es über­for­dert ist. Daher stellt man es bei diesem Lasttest vor eine unlösbare Aufgabe und misst dann die Ant­wort­zei­ten oder sieht sich an, ab wann das System abstürzt und wie es das tut. So ist man auf Här­te­fäl­le im realen Betrieb vor­be­rei­tet.

Der Dauer-Lasttest

Die bisher vor­ge­stell­ten Lasttests waren jeweils für einen kurzen Zeitraum aus­ge­rich­tet. Man testet das System, beendet den Test und überprüft die Er­geb­nis­se. Diese Verfahren geben al­ler­dings keinen Auf­schluss darüber, ob das System einer Belastung auch dauerhaft gewachsen ist. Dies her­aus­zu­fin­den, ist die Aufgabe eines Dauer-Lasttests. Dieser wird mehrere Stunden oder sogar Tage am Stück durch­ge­führt und stellt fest, ob das System auch im Dau­er­be­trieb stabil bleibt, welche Res­sour­cen ver­braucht werden und ob un­er­war­te­te Fehler auftreten. Die meisten Systeme sollen schließ­lich immer er­reich­bar sein. Der Dauer-Lasttest stellt sicher, dass sie diesem Anspruch auch gerecht werden.

Was ist vor einem Lasttest zu beachten?

Grund­sätz­lich sind Lasttests eine gute Mög­lich­keit, ein System auf Herz und Nieren zu testen, es eventuell zu ver­bes­sern und mögliche Risiken im Vorfeld besser ein­schät­zen zu können. Bevor Sie al­ler­dings einen Lasttest durch­füh­ren, sollten Sie einige Über­le­gun­gen anstellen.

Er­war­tun­gen de­fi­nie­ren

Die erste Frage, die Sie sich stellen sollten, zielt darauf ab, was Sie mit dem Lasttest erreichen wollen. Das betrifft zu­al­ler­erst die grund­sätz­li­chen Ziele und Fragen, die ein solcher Test be­ant­wor­ten soll. Geht es Ihnen um einen letzten Test vor der Markt­ein­füh­rung? Wollen Sie über­prü­fen, was Ihr System tat­säch­lich leisten kann? Möchten Sie sich für den Worst Case wappnen und das Programm über­for­dern? Oder geht es Ihnen vor allem um die Per­for­mance über einen längeren Zeitraum hinweg? Je nach An­for­de­rung benötigen Sie einen anderen Lasttest.

Wenn Sie sich über die grund­sätz­li­chen Ziele im Klaren sind, sollten Sie diese spe­zi­fi­zie­ren. Welche Ant­wort­zeit will ich erreichen? Was soll mein System leisten können? Welche Werte sind ver­tret­bar und ab welchem Punkt muss ich die Per­for­mance nach­bes­sern? Mit welchen maximalen Be­las­tun­gen kann ich überhaupt rechnen? Wenn Sie diese Fragen bereits vor der Durch­füh­rung des Lasttests be­ant­wor­ten, können Sie diesen viel ef­fi­zi­en­ter und ziel­ge­rich­te­ter angehen. So erreichen Sie die besten Er­geb­nis­se und setzen den Lasttest optimal ein.

Zeitplan festlegen

Dieser Punkt ist ebenfalls zwei­ge­teilt zu be­trach­ten. Zum einen sollten Sie vor der Durch­füh­rung des Lasttests überlegen, an welchem Punkt der Ent­wick­lung dieser Test sinnvoll ist. Wenn Ihre App bei­spiels­wei­se noch nicht aus­ge­reift ist, führt auch der Lasttest nicht zu sinn­vol­len Er­geb­nis­sen. Führen Sie ihn al­ler­dings zu spät durch, können die Er­geb­nis­se eventuell nicht mehr in die Ent­wick­lung ein­flie­ßen. Zum anderen sollten Sie auch bei einem bereits be­stehen­den System überlegen, wann der Lasttest die ge­rings­ten negativen Aus­wir­kun­gen auf Ihren regulären Ge­schäfts­be­trieb hat. Gerade wenn Sie einen Dauer-Lasttest durch­füh­ren möchten, spielt der richtige Zeitpunkt eine wichtige Rolle.

Aufwand bestimmen

Im Folgenden stellen wir Ihnen ver­schie­de­ne Tools vor, die für die Durch­füh­rung eines Lasttests zu empfehlen sind. Hierbei ist schnell er­sicht­lich, dass die zu er­war­ten­den Kosten deutlich von­ein­an­der abweichen. Es gibt emp­feh­lens­wer­te Open-Source-Lösungen, gerade bei einem wie­der­keh­ren­den Einsatz lohnt sich aber viel­leicht auch eine pro­prie­tä­re Variante. Sie müssen daher im Vorfeld festlegen, wie viel Sie für einen Lasttest in­ves­tie­ren möchten. Auch die Frage, wie nahe die Test­um­ge­bung der Pro­duk­ti­ons­um­ge­bung kommt, ist wichtig und im Vorfeld zu klären. Möchten Sie mehrere Lasttests einsetzen, sollten diese auf­ein­an­der ab­ge­stimmt werden, und auch die Aus­wer­tung der Testdaten muss vor Test­be­ginn or­ga­ni­siert werden.

Wie wird ein Lasttest durch­ge­führt?

Bei der Durch­füh­rung eines Lasttests gilt grund­sätz­lich „Safety first“. In jedem einzelnen Schritt sollte das System best­mög­lich geschützt und un­ter­stützt werden. Die folgenden Ansätze sind dafür zu empfehlen:

  • Si­cher­heits­vor­keh­run­gen: Legen Sie vor dem Lasttest ein Backup aller Daten des Systems an. Kommt es zu Problemen, können Sie so schnell wieder auf den vor­he­ri­gen Zustand wechseln. Über­prü­fen Sie außerdem, welche externen Systeme an­ge­schlos­sen sind, und stellen Sie sicher, dass diese durch den Lasttest nicht be­ein­träch­tigt werden können.
  • Schritt für Schritt vorgehen: Auch wenn Sie Ihr System im großen Umfang testen möchten, ist es besser, wenn Sie zunächst im Kleinen anfangen, sich langsam her­an­tas­ten und dann steigern. Gerade wenn Sie Ihr System mit einem Lasttest über­for­dern wollen, lohnt sich vorher eine Über­prü­fung, was es überhaupt grund­sätz­lich leisten kann.
  • Die passende Software-Lösung: Natürlich spielt auch die Wahl der passenden und sinn­vol­len Software-Lösung eine große Rolle. Nur wenn der ent­spre­chen­de Lasttest auf Ihre An­for­de­run­gen zu­ge­schnit­ten ist, erzielen Sie auch aus­sa­ge­kräf­ti­ge Er­geb­nis­se und können daraus wertvolle Er­kennt­nis­se gewinnen.

Welche Tools für Lasttests gibt es?

Es gibt zahl­rei­che Tools, die auf Lasttests spe­zia­li­siert sind und Ihnen so bei der Über­prü­fung Ihres Systems wertvolle Dienste leisten. Die folgenden Programme sind besonders emp­feh­lens­wert:

JMeter

JMeter ist eine Open-Source-Lösung und punktet mit einer großen und hilf­rei­chen Community. Mit diesem Tool können Sie Lasttests für zahl­rei­che An­wen­dun­gen und Server durch­füh­ren und einfache Re­portings erstellen. Ein Nachteil dieser Lösung ist ihre ver­gleichs­wei­se lange Ein­ar­bei­tungs­zeit. Wenn Sie al­ler­dings bereit sind, sich in das Programm ein­zu­ar­bei­ten, erhalten Sie eine her­vor­ra­gen­de Al­ter­na­ti­ve zu kos­ten­in­ten­si­ven Lasttests.

IBM Rational Per­for­mance Tester

Der IBM Rational Per­for­mance Tester ist eine starke Option für Per­for­mance- und Ka­pa­zi­tä­ten­tests. Mit dem Programm können Sie auch Test­skrip­te in Java verfassen, Sta­tis­ti­ken erstellen und Ihre Cloud über­prü­fen. Der Lasttest ist ver­gleichs­wei­se einfach durch­zu­füh­ren und benötigt keine lange Ein­ar­bei­tung. Neben einer kos­ten­lo­sen Test­ver­si­on gibt es mehrere Preis­mo­del­le.

Load­Run­ner

Load­Run­ner ist ein Klassiker auf dem Gebiet der Lasttests. Das Programm ist in einer kos­ten­lo­sen Community-Version und einer pro­prie­tä­ren Variante er­hält­lich und un­ter­stützt zahl­rei­che Tech­no­lo­gien. Der Load­Run­ner bietet Ihnen zahl­rei­che Mög­lich­kei­ten, Lasttests genau nach Ihren Be­dürf­nis­sen durch­zu­füh­ren, und überzeugt dabei durch ein einfaches Handling.

Zum Hauptmenü