Podcast #48 Performance Testing Tools: k6, JMeter oder Gatling?

🕒 Hördauer: 42 Minuten

Performance ist insbesondere bei Webanwendungen erfolgskritisch. Matthias geht im Podcast im Dialog mit Markus auf für Performancetests wichtige Tools detailliert ein und vergleicht deren Features. Inwieweit JMeter, k6 oder Gatling Open Source sind, wie leicht sich mit diesen Tools arbeiten lässt, wie sie in eine CI/CD-Pipeline integriert werden können und welche Reportingmöglichkeiten bestehen, wird im Podcast dargestellt.

Abschließend spricht Matthias über seine Praxiserfahrungen und gibt Empfehlungen.

Hör' Dir hier den ganzen Podcast an:

 

Diese Themen erwarten Dich:

{00:36] Überblick

{01:02] Vorstellung Matthias Eggert

{01:52] Die Tools im Podcast

{02:26] Toolverwendung

{03:20] Toolauswahl

{04:21] Opensource bei den Tools

{06:00] Aktualität von JMeter

{07:18] Besonderheiten JMeter

{09:13] Vorstellung Gatling

{11:40] Gatling und Opensource

{14:10] k6

{15:14] Technologische Einordnung k6

{17:21] Vergleich der Bedienbarkeit

{20:43] Einfluß der Projektgröße

{23:50] Unterschiede bei Monitoring und Reporting

{26:50] Einbindung in CI/CD-Pipeline

{28:53] Toolempfehlung

{30:34] Aktuelle praktische Erfahrungen

{32:23] Herausforderung 10 Millionen Nutzer

{38:25] QLoad

{40:14] Infos zu den Tools

{41:53] Kontaktaufnahme

{42:24] Seminare der Qytera

 

 

JMeter

Eine der besonderen Stärken von JMeter ist seine Master-Slave-Architektur (oder Controller-Worker-Architektur), die es ermöglicht, Last auf mehrere Maschinen zu verteilen. Außerdem ist JMeter 100% Opensource. Genau aus diesen Gründen wird JMeter auch von Microsoft empfohlen.

Gatling

Gatling bietet Vorteile, da es Tests als Code ermöglicht und besser mit Versionskontrolle (z. B. Git) funktioniert. Im Vergleich dazu ist JMeter mit seiner grafischen Oberfläche und XML-Dateien schwerer zu handhaben. Gatling bietet auch Unterstützung für Java und JavaScript, wobei die JavaScript-Unterstützung jedoch rundum gelungen ist.

k6

k6 unterscheidet sich durch die Verwendung von JavaScript und richtet sich vor allem an Frontend-Entwickler. Es ist stark auf CI/CD optimiert, um schnell Performance-Probleme zu erkennen, anstatt auf ausführliche Reports für das Management zu setzen. k6 verwendet ein Go-basiertes Backend (Gojar) anstelle von Node.js, was dazu führt, dass viele gängige JavaScript-Pakete nicht verwendet werden können. Das erfordert die Suche nach k6-kompatiblen Alternativen.

Featurevergleich

Matthias vergleicht JMeter, Gatling und k6 hinsichtlich Bedienbarkeit, Einsetzbarkeit je nach Projektgröße, Nutzbarkeit als Opensource, Einbindbarkeit in CI-CD Pipelines und bezüglich der angebotenen Monitoring- und Reportingmöglichkeiten. Hinsichtlich der untersuchten Features zeigt Matthias Stärken und Schwächen bei den einzelnen Tools auf.

Opensource 

JMeter ist vollständig Open Source und kostenlos, mit der Möglichkeit zur Erweiterung durch Plugins. Gatling ist teilweise Open Source. Es gibt eine kostenlose Open-Source-Version, die jedoch in ihrer Funktionalität eingeschränkt ist, besonders für größere, verteilte Lasttests. k6 hat ebenfalls eine kostenlose Version für kleinere Lasttests, mit einer kostenpflichtigen Cloud-Version für größere Projekte.

Toolempfehlung

k6 und Gatling sind hervorragend für kleinere bis mittlere Lasttests geeignet, bieten durch ihre Flexibilität und Benutzerfreundlichkeit eine schnelle und einfache Handhabung. JMeter ist die bevorzugte Wahl für größere Lasttests, vor allem bei verteilten Systemen. Allerdings gibt es bei sehr hohen Lasten und der Berichterstellung Herausforderungen, insbesondere wenn die Infrastruktur nicht ausreichend skaliert ist. Für massive Lasttests (wie 10 Millionen Requests pro Minute) sind spezialisierte Maschinen mit ausreichender Bandbreite und RAM erforderlich. Zudem sollte die Berichterstellung asynchron erfolgen oder Echtzeit-Metriken genutzt werden, um Verzögerungen bei der Analyse zu vermeiden.

QLoad

QLoad ist ein Tool der Qytera, das auf der Master-Slave-Architektur von JMeter basiert, aber zusätzliche Serviceleistungen bietet. Es ermöglicht die Durchführung von Lasttests auf einer sehr großen Skala und kann durch die Cloud nahezu beliebig skaliert werden. Dabei nutzt es Cloud-Infrastrukturen wie AWS, mit dem Ziel, es auch auf On-Premise-Systemen oder anderen Cloud-Anbietern (z. B. Azure, OpenShift) verfügbar zu machen. Dies ist besonders wichtig für Unternehmen, die ihre Daten aus rechtlichen oder Sicherheitsgründen intern halten müssen.

Infos und Kontakt

Matthias Eggert kann per email ( matthias.eggert@qytera.de) kontaktiert werden.

 

Finden Sie weitere interessante Artikel zum Thema: