Last- und Performancetests – messbare Vorteile

Internetnutzer bringen gerade einmal 3 Sekunden Geduld für das Laden einer Webseite auf. Dauert es Mal länger, verlässt bereits die Hälfte der Nutzer die Webpräsenz direkt und kommt auch nicht mehr dahin zurück.
Die Schlussfolgerung daraus? Systemleistung und Zeitverhalten spielen eine große Rolle im daily business, denn sie beeinflussen nachhaltig den Erfolg eines Unternehmens! Ein schlecht laufendes System bringt das Alltagsgeschäft ins Stolpern und lenkt von der eigentlichen Arbeit ab.
Wir von der WSP-Soft GmbH schließen daraus bereits seit Beginn des Software-Entwicklungsprozesses von WSPone, dass gute Performance essentiell für eine gute Software ist. Um dies zu gewährleisten und eine konstante Qualitätssicherung zu ermöglichen, setzen wir auf Last- & Performancetests.
Was sind Last- und Perfomancetests?
Last- und Performancetest dienen zur Auslotung von Schwächen und Grenzen des Softwareproduktes und werden über ein Tool gesteuert. Über verschiedene Testautomatisierungen wie Stresstests (viele Nutzer während eines zeitlich limitierten Events) oder Dauerlasttests (auf längere Zeit, meist 12h oder ganztägig) wird abgefragt, wie sich die Antwort- und Verarbeitungsgeschwindigkeit bei unterschiedlichen Belastungen verhält. Es findet also eine Prüfung statt, die Rückschlüsse auf das Zusammenspiel der Software-Komponenten unter den gewünschten Bedingungen ermöglicht.
Um diese große Last, also viele User zu simulieren, die mit der Plattform arbeiten, nutzen wir moderne Werkzeuge mit vielseitigen Analyse-Möglichkeiten.
Last- und Perfomancetests mit Gatling:
Das Open Source Testing Tool Gatling feierte seinen Release im Januar 2012 und brachte seither jährlich einen neuen Major-Release an den Start. Im Laufe der Jahre erfreute es sich einer immer größer werdenden Community und auch wir sind vom Nutzungsumfang des Tools überzeugt. Gatling ist in der Lage, effektiv sehr viel Last auf dem zu testenden System zu erzeugen und die User-Szenarien ganz unterschiedlich zu gestalten. Daher nutzen wir Gatling für das Last- und Performancetesting von WSPone.
Die technische Basis von Gatling beruht auf Scala, Akka und Netty. Sie ermöglicht es, die Interaktion zwischen Browser und dem WSPone Server via Proxy mitzuschreiben, oder auch bereits vorhandene HTTP-Archive zu importieren und auszuwerten. Der Gatling Recorder arbeitet asynchron, also nicht blockierend und dient als Hilfe für das spätere scripten des Tests, den man mithilfe der Programmiersprache Scala an die jeweiligen Bedürfnisse des Szenarios anpassen kann.
Somit können zum Beispiel verschiedene User-Typen definiert werden. Der „normale User“ führt Aktionen aus, die der durchschnittliche WSPone User macht. Dies beinhaltete zum Beispiel das Erstellen eines Incidents. Hierbei werden auch Arbeitspausen zwischen den einzelnen Aktionen einbezogen. Ein „read only-User“ trägt keine Informationen in Felder ein, er ruft beispielsweise nur Listen auf und sieht diese an. Ein „Power-User“ stellt das genaue Gegenteil dar, er bringt Systeme an Ihre Grenzen, damit diese festgestellt und ausgeweitet werden können. Der „Power-User“ erstellt am laufenden Band Incidents und fragt Listen ab. Es entstehen auch keine Pausen, weswegen das System dauerhafter Last ausgesetzt ist. Die Tatsache, dass verschiedenen Testszenarien gleichzeitig laufen können, kommt der realistischen Simulation ebenfalls zu Gute – dank guter Skalierbarkeit sind wir in der Lage, sehr viele WSPone-Container gleichzeitig zu testen.
Fazit:
Der große Vorteil von Gatling liegt in seiner Architektur, ganz spezifisch in der Verwendung von Scala. Die Programmiersprache bietet uns den Vorzug, dass die Testszenarien per Script definiert werden können. Außerdem läuft das Tool dank Scala auf allen Systemen, unabhängig vom Typ der lokalen Maschine oder des Servers.
Das HTML-File, welches als Resultat nach dem Test mit Gatling zur Verfügung steht, bereitet die Testergebnisse Out-of-the Box als Dashboard mit aussagekräftigen Grafiken auf.
Wir konnten mithilfe des Testings Schwachstellen erkennen und die Stabilität von WSPone noch weiter optimieren. Damit ist es nun möglich, mehrere hundert User pro WSPone-Container stabil zu bedienen und ihnen trotzdem eine flüssige und intuitive Bedienung auf diesem unter Last stehenden System zu bieten. Da beliebig viele Container gleichzeitig nebeneinander skaliert werden können, ist WSPone für den Einsatz bei großen Enterprise Kunden bestens ausgerüstet.
Im Bereich Social Media finden Sie uns auf Facebook, Twitter, Xing und LinkedIn. Auf unserem YouTube-Kanal finden Sie hilfreiche Video-Tutorials, welche Ihnen die Funktionen und Features unserer Enterprise Service Management Plattform WSPone näher bringen.