Last- und Performancetests: Gatling 3.0 ist erschienen

Die Änderungen im neuen Release sollten bei der Migration bestehender Projekte wenig Sorgen bereiten. Einzig der WebSockets-Support ist komplett neu.

In Pocket speichern vorlesen Druckansicht
Gatling 3.0

(Bild: Gatling.io)

Lesezeit: 2 Min.
Von
  • Alexander Neumann

Das Last- und Performancetestwerkzeug Galtling ist in Version 3.0 erschienen. Die Entwickler hinter dem unter der Apache License 2.0 stehenden Tool konnten erst kürzlich vermelden, dass Gatling mittlerweile mehr als zwei Millionen Mal heruntergeladen worden ist.

Die wichtigsten neuen Features von Gatling 3.0 sind zum einen, dass die Unterstützung von Java 9+ die Art und Weise verändert hat, wie der Scala-Code im gatling-maven-Plug-in und im Standalone-Bundle kompiliert wird. Zum anderen hat Gatling nun einen eigenen internen HTTP-Client, der zwar immer noch die NIO-Client-Bibliothek Netty nutzt, allerdings auch HTTP/2 unterstützt und vor allem die Probleme bei gleichzeitigen Zugriffen löst, die der AsyncHttpClient zuvor machte, von dem man sich nun aber getrennt hat.

Die WebSocket-Unterstützung wurde komplett neu implementiert, da der vorherige Support als unhandlich angesehen wurde und auf wenig Gegenliebe unter den Anwendern stieß. Gatling hat jetzt zudem eine integrierte Unterstützung für das geschlossene Workload-Modell, und mit den Batching Feeders muss man nicht mehr alle Daten in den Speicher laden.

Für die meisten Anwender sollte die Migration ziemlich einfach sein: Es geht hier zumeist darum, Methoden umzubenennen und die Feeder-Pfade festzulegen. Die große Ausnahme betrifft die WebSocket-Nutzung, da die Unterstützung hier von der vorherigen Implementierung völlig abweicht. Letztlich ist sicherlich der Migrationsleitfaden hilfreich, wenn man den bestehenden Code anpassen möchte.

Gatling entstand vor rund sieben Jahren als Testwerkzeug für Webanwendungen mit einer eigenen Domain-Specific Language (DSL) für Testszenarien. Die technische Basis dafür sind die Programmiersprache Scala, die Aktoren-Implementierung Akka und die NIO-Client-Bibliothek Netty. Dadurch arbeitet Gatling asynchron und nichtblockierend.

Siehe dazu auf heise Developer:

(ane)