Last- und Performance-Tests mit JMeter oder Gatling
Seite 3: Fazit
Beide Werkzeuge sind für umfangreiche Last- und Performancetest gut geeignet. Sie simulieren jedoch keinen vollwertigen Browser, sondern nur einfache HTTP-Clients. Da bisher nur ältere Versionen der Clients verwendet werden, wird erst mit Netty 4.1 (Gatling) und Apache HttpCore 5 (JMeter) eine HTTP/2-Unterstützung möglich sein.
Je mehr die Geschwindigkeit von Anwendungen jedoch von JavaScript abhängt, kann man zwar für diese Art der Anwendungen die Werkzeuge immer noch verwenden, indem man die aufgezeichneten Requests ausführt. Zusätzlich sollten die Tests jedoch um Funktionstests mit Selenium-Treibern für die relevanten Browser durchgeführt werden, um die für den Benutzer relevante und gefühlte Performance ebenso zu berücksichtigen.
Da die typischen Lasttestszenarien sowohl mit JMeter als auch Gatling gut durchgeführt werden können, gibt es keinen Sieger. Durch den DSL-basierten Ansatz und die moderne Berichtsausgabe ist Gatling sicherlich bei Entwicklern beliebt. JMeter kann jedoch mit der breiten Unterstützung verschiedener Lasttestszenarien und Erweiterungen punkten. Mit der 3er-Version hat JMeter bei den Scripting- und Reporting-Möglichkeiten aufgeholt. Bei den unterstützten Kommunikationsprotokollen und der Anzahl der verfügbaren Erweiterungen hat das Werkzeug klar die Nase vorn.
Letztlich hängt eine Entscheidung zugunsten des einen Werkzeugs oft von den Skills ab. Da Scala bei Gatling die Hauptsprache für Testpläne ist, sind hier eher Java- oder Scala-Programmierer angesprochen. Bei JMeter kann jedoch auch ein Testingenieur, nach einer kurzen Einarbeitungszeit, einfache Anpassungen und die Konfiguration des Testplans vornehmen. Da das Scripting in mehreren Programmiersprachen möglich ist, kommen auch Webprogrammierer aus dem Nicht-Java-Bereich gut mit JMeter klar.
Für die, die sich nicht entscheiden möchten oder können, bietet die Firma BlazeMeter das kostenlose Werkzeug Taurus an. Damit lassen sich die Stärken beider Werkzeuge unter einen Hut bringen, da so beide zusammen einsetzbar sind.
Frank Pientka
ist Principal Software Architect bei der Materna GmbH in Dortmund.
(ane)