Auslastungstests für Ihre Azure-App-Dienstanwendungen

In diesem Artikel erfahren Sie, wie Sie Azure Load Testing verwenden können, um in Azure App Service gehostete Anwendungen zu testen. Azure App Service ist ein vollständig verwalteter Dienst, mit dem Sie Webanwendungen und APIs in der Cloud erstellen, bereitstellen und skalieren können.

Mit Azure Load Testing können Sie realen, umfangreichen Datenverkehr für Ihre Anwendung und Ihre Dienste simulieren. Obwohl Azure App Service automatisch skaliert werden kann, werden Sie eine höhere Zuverlässigkeit und Leistung sowie eine bessere Kostenoptimierung feststellen, wenn Sie Auslastungstests mit Azure Load Testing ausführen. Außerdem können Sie:

  • sicherstellen, dass alle Anwendungskomponenten – nicht nur die Webanwendung – die erwartete Last bewältigen können

  • sicherstellen, dass die Anwendung Ihre Leistungs- und Stabilitätsanforderungen erfüllt

  • Anwendungsressourcenmetriken und -diagnosen verwenden, um Leistungsengpässe in der gesamten Anwendung zu identifizieren

  • eine übermäßige Zuteilung von Computingressourcen vermeiden und Kostenineffizienzen reduzieren

  • Leistungsregressionen frühzeitig erkennen, indem Sie Auslastungstests in Ihre CI/CD-Pipeline (Continuous Integration und Continuous Delivery) integrieren und Fehlerkriterien für Tests angeben

Datenverkehrssimulation mit Auslastungstests

Sie können einen Auslastungstest erstellen, um Datenverkehr für Ihre Anwendung in Azure App Service zu simulieren. Azure Load Testing bietet zwei Optionen zum Erstellen eines Auslastungstests:

  • Erstellen eines URL-basierten Schnelltests
  • Verwenden eines Apache JMeter-Skripts (JMX-Datei)

Nachdem Sie einen Auslastungstest erstellt und ausgeführt haben, können Sie für die Webanwendung und alle abhängigen Azure-Komponenten die Ressourcenmetriken überwachen, um Leistungs- und Skalierbarkeitsprobleme zu identifizieren.

Erstellen Sie einen URL-basierten Auslastungstest

Sie können einen URL-basierten Auslastungstest direkt über Ihre Azure App Service-Web-App im Azure-Portal erstellen. Beim Erstellen des Auslastungstests können Sie einen bestimmten Bereitstellungsslot auswählen und die voraufgefüllte Endpunkt-URL verwenden.

Der folgende Screenshot zeigt, wie Sie einen URL-basierten Auslastungstest im Azure-Portal erstellen.

Informationen zu den ersten Schritten beim Erstellen eines URL-basierten Auslastungstests für Azure App Service finden Sie hier.

Erstellen eines Auslastungstests durch das Hochladen eines JMeter-Skripts

Azure Load Testing bietet umfassende Unterstützung für JMeter. Sie können einen neuen Auslastungstest erstellen, indem Sie ein Apache JMeter-Skript hochladen. Dieser Ansatz kann in den folgenden Szenarien verwendet werden:

  • Testen mehrerer Seiten oder Endpunkte in einem einzelnen Test
  • Testen von authentifizierten Endpunkten
  • Übergeben von Parametern an den Auslastungstest, z. B. Umgebungsvariablen oder Geheimnisse
  • Testen von nicht HTTP-basierten Endpunkten, z. B. Datenbankverbindungen
  • Konfigurieren erweiterter Auslastungsmuster
  • Wiederverwenden vorhandener JMeter-Skripts

Informationen zu den ersten Schritten finden Sie unter Durchführen eines Auslastungstest einer Website mithilfe eines JMeter-Skripts in Azure Load Testing.

Wenn Sie zuvor einen URL-basierten Test erstellt haben, generiert Azure Load Testing ein JMeter-Testskript. Sie können dieses generierte Testskript herunterladen, es ändern oder erweitern und dann erneut hochladen.

## Überwachen Ihrer Apps auf Engpässe und Bereitstellungsprobleme

Während eines Auslastungstests sammelt Azure Load Testing Metriken zum Testlauf:

  • Clientseitige Metriken: Metriken der Test-Engine, z. B. End-to-End-Antwortzeit, Anzahl von Anforderungen pro Sekunde oder Fehlerprozentsatz. Diese Metriken geben einen allgemeinen Hinweis darauf, ob die Anwendung die simulierte Benutzerauslastung unterstützen kann.

  • Serverseitige Metriken: Ressourcenmetriken der Azure-Anwendungskomponenten, z. B. CPU-Prozentsatz des App Service-Plans, HTTP-Antwortcodes oder Nutzung von Datenbankressourcen.

Verwenden Sie das Azure Load Testing-Dashboard, um die Testlaufmetriken zu analysieren und Leistungsengpässe in Ihrer Anwendung zu identifizieren oder um herauszufinden, ob Sie überdimensionierte Computeressourcen bereitgestellt haben. Sie können z. B. bewerten, ob die App Service-Planinstanzen korrekt für Ihre Workload dimensioniert sind.

Screenshot: Dashboard mit den Auslastungstestergebnissen im Azure-Portal.

Erfahren Sie mehr über das Überwachen serverseitiger Metriken in Azure Load Testing.

Für Anwendungen, die in Azure App Service gehostet werden, können Sie mit der App Service-Diagnose zusätzliche Erkenntnisse zur Leistung und Integrität der Anwendung erhalten. Wenn Sie Ihrer Auslastungstestkonfiguration eine App Service-Anwendungskomponente hinzufügen, enthält das Load Testing-Dashboard einen direkten Link zum App Service-Diagnosedashboard für Ihre App Service-Ressource.

Screenshot des Abschnitts „App Service“ auf dem Dashboard für Auslastungstests im Azure-Portal.

Anpassen der Fehlerkriterien für Auslastungstests

Mit Fehlerkriterien für Tests können Sie Bedingungen für clientseitige Auslastungstestmetriken konfigurieren. Wenn eine Auslastungstestlauf diese Bedingungen nicht erfüllt, gilt der Test als fehlschlagen. Beginnen Sie damit, Fehlerkriterien für Ihren Auslastungstest zu konfigurieren.

Sie können z. B. angeben, dass die durchschnittliche Antwortzeit von Anforderungen oder der Prozentsatz von Anforderungsfehlern über einem bestimmten Schwellenwert liegt. Sie können Ihrem Auslastungstest jederzeit Fehlerkriterien hinzufügen, unabhängig davon, ob es sich um einen Schnelltest handelt oder Sie ein JMeter-Skript hochgeladen haben.

Wenn Sie Auslastungstests als Teil Ihrer CI/CD-Pipeline ausführen, können Sie Testfehlerkriterien verwenden, um Leistungsregressionen bei einem Anwendungsbuild zu identifizieren.

Screenshot: Seite „Testkriterien“ für einen Auslastungstest im Azure-Portal.

Verwenden von Parametern zum Testen mehrerer Bereitstellungsslots

Wenn Sie einen Auslastungstest konfigurieren, können Sie Parameter angeben, um Umgebungsvariablen oder Umgebungsvariablen an das Auslastungstestskript zu übergeben. Durch diese Parameter wird Ihr Testskript wiederverwendbar und rekonfigurierbar. Erfahren Sie, wie Sie Parameter verwenden, um Umgebungsvariablen an einen Auslastungstest zu übergeben.

Ein Beispiel ist die Verwendung eines Parameters als Umgebungsvariable, sodass Sie den Anwendungsendpunkt-URL nicht im Testskript speichern müssen. Sie können Umgebungsvariablen auch verwenden, um andere Konfigurationseinstellungen an das JMeter-Testskript zu übergeben. Beispielsweise können Sie die Anzahl virtueller Benutzer oder den Dateinamen einer CSV-Eingabedatei an das Testskript übergeben.

Eine weitere Verwendungsmöglichkeit für Parameter ist die Wiederverwendung Ihres Testskript für mehrere Azure App Service-Bereitstellungsslots. Bereitstellungsslots sind Live-Apps mit eigenen Hostnamen und separaten URLs. Verwenden Sie einen Parameter für den Anwendungsendpunkt, und anschließend können Sie Stagingumgebungen für Ihre Anwendung einrichten.

Screenshot: Seite „Parameter“ eines Schnelltests im Azure-Portal mit hervorgehobenen Parametern für die Ziel-URL.

Nächste Schritte

In diesem Artikel werden folgende Themen erläutert: