Vollständig verwalteter Dienst für Lasttests Azure Load Testing im Überblick

Von Thomas Joos Lesedauer: 4 min

Anbieter zum Thema

Azure Load Testing erlaubt, Lasttests für Anwendungen durchzuführen, die in der Azure-Cloud oder in externen Clouds bereitgestellt werden. Über CI-CD-Workflows lassen sich damit auch Regressionstests automatisieren.

Mit BlocklyJMX lassen sich online JMX-Dateien für Azure Load Testing bearbeiten und lesen.
Mit BlocklyJMX lassen sich online JMX-Dateien für Azure Load Testing bearbeiten und lesen.
(Bild: Joos / BlocklyJMX)

Lasttests spielen eine wichtige Rolle, um jederzeit sicher sein zu können, dass eigens entwickelte Anwendungen immer so leistungsstark wie nur möglich funktionieren. Der Aufbau einer eigenen Testumgebung ist aber komplex, mit Kosten und Aufwand verbunden und meist auch nicht sehr effektiv.

Ideal ist an dieser Stelle das Ausführen von Lasttests in der Cloud. Besonders sinnvoll ist das natürlich, wenn die Anwendungen ohnehin in der Cloud laufen sollen. Vor dem Hintergrund ist gut, zu wissen, dass Azure Load Testing die Preview-Phase verlassen hat und offiziell verfügbar ist.

Der vollständig verwaltete Dienst in der Azure-Cloud ermöglicht das Messen der Leistung von eigenen Anwendungen sowie das Optimieren der Skalierbarkeit und der Kapazität. Der Dienst kann auch Anwendungen aus anderen Clouds testen, allerdings bietet Azure Load Testing für Apps in der eigenen Cloud mehr Funktionen, wie zum Beispiel ausführlichere Metriken für Ressourcen.

Neben umfassenden Tests kann Azure Load Testing auch Schnelltests durchführen. Hier ist nur die Eingabe einer URL notwendig. Das erspart die Konfiguration einer JMeter-Skriptdatei, wie im nächsten Abschnitt besprochen.

Azure Load Testing setzt auf JMeter-Skripte

Hauptsächlich nutzt Azure Load Testing die Open-Source-Lösung Apache JMeter, um Skripte für Lasttests zu erstellen. JMeter wurde ursprünglich für Web-Anwendungen entwickelt, wird aber mittlerweile auch für Funktionstests und andere Testarten verwendet.

JMeter kann statische und dynamische Ressourcen von verschiedenen Server-Typen simulieren. Das Tool kann http-, https-, ftp, Mail-, TCP- und Datenbankverbindungen simulieren und testen. Es unterstützt verschiedene APIs und weitere Protokolle, einschließlich SOAP, JDBC, LDAP und JMS.

Ein wesentlicher Vorteil von JMeter ist seine Skalierbarkeit. Um die Leistungsfähigkeit und Stabilität eines Systems unter verschiedenen Lastbedingungen zu testen, lassen sich Zugriffe von einem einzigen bis hin zu Tausenden von Benutzern simulieren. Es ermöglicht auch das Clustering von Servern, was bedeutet, dass man die Last von mehreren Rechnern verteilen kann, um noch größere Zugriffsraten zu simulieren.

JMeter ist darüber hinaus sehr anpassungsfähig. Es bietet eine Vielzahl von Plug-ins und Erweiterungen, die es dem Benutzer ermöglichen, die Funktionalität des Tools zu erweitern und anzupassen. Mit seinen Berichtsfunktionen kann JMeter detaillierte Statistiken und Diagramme erzeugen, um die Leistung einer Anwendung zu analysieren.

Jeder Testplan in JMeter besteht aus einem oder mehreren Thread-Gruppen, die einzelne Benutzer oder Benutzergruppen simulieren. Innerhalb dieser Thread-Gruppen können Sampler und Listener hinzugefügt werden, um spezifische Anfragen zu senden und die Antworten zu analysieren.

Testing in Azure Container, VMs, Speicherkonten und mehr

In Azure lassen sich mit Apache JMeter Container, VMs, Speicherkonten und Dienste wie AKS testen. Datenbanken lassen sich ebenfalls anbinden. Das Ergebnis kann wiederum mit Azure Monitor ausgewertet werden.

Die komplette Einrichtung und das Durchführen der Tests erfolgen über einen Azure-typischen Assistenten. Über diesen lassen sich auch notwendige Secrets hinterlegen oder Variablen definieren. Außerdem können die Anzahl der Threads und weitere Anpassungen für die Tests vorgenommen werden.

Beim Testen von Anwendungen, die in Azure gehostet sind, ist es möglich, sehr detaillierte und umfassende Ressourcen-Metriken zu erfassen. Diese basieren auf Azure Monitor. Das ermöglicht wiederum die dedizierte Auswahl der Komponenten in Azure, die Azure Load Testing bei seinem Test besonders berücksichtigen soll. Apache Load Testing unterstützt JMeter-Skripte (JMX), die sich direkt im Einrichtungsassistenten eines neuen Tests hochladen lassen.

JMeter-Dateien online erstellen

Für das Erstellen von JMX-Dateien ist es möglich, auf den kostenlosen Webdienst BlocklyJMX zurückzugreifen. Dieser Online-Editor für JMeter-Testplan-Dateien ist vollständig kompatibel zu Azure Load Testing. Der Editor erlaubt es, JMX-Dateien anzuzeigen und zu editieren. Eine bearbeitete Datei wird einfach gespeichert und danach in den Test bei Azure Load Testing eingebunden.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

JMX-Dateien in Azure Load Testing laden

Beim Erstellen eines neuen Tests lassen sich die JMX-Dateien über den Bereich „Test plan“ laden und in Azure Load Testing ausführen. Sobald ein Testplan erstellt ist, beginnt Azure Load Testing automatisch mit den Tests. Danach können die Ergebnisse entweder in der Weboberfläche von Azure Load Testing ausgewertet oder als Ergebnisdatei auf den PC heruntergeladen werden.

Azure Load Testing zeigt die Client-seitigen Metriken an, aber auch die Metriken auf den Servern. Sinnvoll ist das beim Ausführen von Azure Workloads, da sich dadurch alle Komponenten effektiv auswerten lassen. Während des Lasttests zeigt Azure Load Testing bereits in Echtzeit Ergebnisse an.

Wenn einmal ein Test durchgeführt wurde, bleibt die dazu gehörige JMeter-Skript-Datei verfügbar. Die Datei lässt sich jederzeit anpassen, weiterverwenden, und auch die Testergebnisse sind für Vergleichstests weiterhin verfügbar.

Das kostet Azure Load Testing

Azure Load Testing läst sich über ein herkömmliches Azure-Abonnement nutzen. Das heißt, der Start mit dem Testtool ist zunächst kostenlos. Wer den Dienst umfangreicher nutzt, kann sich in der Preisliste zu Azure Load Testing genauer über die Abo-Bedingungen informieren.

Microsoft berechnet die einzelnen Instanzen der Auslastungsressource, die 50 virtueller Benutzerstunden pro Monat umfassen. Kommen mehr als 50 virtuelle Benutzerstunden pro Monat dazu, erfolgt eine zusätzliche Abrechnung. Generell ist im Grunde nur ein kleiner Betrag pro Benutzer und Stunde fällig. Bereits beim Starten der Tests zeigt Azure Load Testing an, wieviel Tests pro Stunde in der ausgewählten Konfiguration kosten.

(ID:49464492)