K6

WAS IST K6                   

K6 ist ein Tool zur Durchführung von Last und Performance Tests und kommt in zwei unterschiedliche Flavours: sowohl als Open Source  als auch kommerzielle Version im Cloud. Das Tool unterstützt momentan nur wenig Protokolle, mit dem an Fokus das codebasierte Skripting und die starke Priorisierung der Entwicklererfahrung. K6 ist in Go geschrieben, aber die Skripte werden in Javascript geschrieben.

FUNKTIONSWEISE

k6 hat keine im Tool enthaltene GUI, aber der k6 Test Builder ist kostenlos verfügbar. Es ist eine Möglichkeit, Tests mit einer GUI-Oberfläche zu erstellen, und trotz der Einbindung in die k6-Cloud ist kein Abonnement für die Verwendung erforderlich. Es ist jedoch nicht so vollständig ausgestattet.

K6 unterstützt die folgenden Protokolle:

  • Web – HTTP/1.1, HTTP/2 (Java, NodeJS, PHP, ASP.NET, …)
  • WebSockets
  • gRPC
  • SOAP / REST-Webservices

k6 unterstützt den verteilten Lasttestmodus über einen Kubernetes-Operator: der k6-Operator  ermöglicht  auch ein verteiltes Testen.

VOR- UND NACHTEILE

Vorteile von K6

  • Open Source, keine Kosten(Teilweise-Basis ,für die komplexere Ansätze gibt es die kommerzielle Cloud Version)
  • Leicht zu installieren 
  • Record/Replay (k6 bietet zwei Tools, die eine Aufnahme direkt in ein k6-Skript konvertieren können:

             Der Browserrecorder generiert ein k6-Skript aus einer Browsersitzung. Verfügbar für Chrome und Firefox.
             Der HAR-Konverter generiert ein k6-Skript aus den Anforderungen, die in einer HAR-Datei enthalten sind

  • Plugin Erweiterungen
  • Integration in viele CI / 3-rd Party Lösungen
  • kleinere Footprint(ca.100 kb/Thread),so bessere Ressource Verbrauch -keine Out of Memory
  • L&P as Code -Javascript , so modernes Perspektive für die moderne Technologien(Angular, React, usw.)
  • Converter Postman Collection –> K6, momentan noch nicht so stabil

Nachteile von K6

  • momentan -Stand 2022-noch relativ kleinere Online Community
  • Sehr Limitierte Protokoll Anzahl(HTTP/1.1 ,HTTP/2,WebSockets,gRPC und SOAP/REST  Protokolle)
  • Keine GUI
  • Keine Built In  Reporting 
  • Keine direkte Unterstützung bei Korrelation und Substitutionen
  • Umständliche Verteilung der Testdaten
  • Xpath, JSON Path, CSS, Regular Expressions Know-How notwendig
  • Komplizierte Lastverteilung (nur via Grafana/k6-operator,bessere Unterstützung in  die kommerzielle Version)

WEITERFÜHRENDE LINKS:

VERWANDTE BEGRIFFE