Skalierung von Azure Web Anwendungen für Entwickler
Azure Web Anwendungen Teil 2: Automatisierte Lasttests
Wir haben bereits in mehreren Beiträgen die Vorzüge der Azure App Services als ideale Plattform zum Hosting von Azure Web Anwendungen besprochen, insbesondere aus Entwicklersicht. Einer der Vorteile ist die Skalierung der unterliegenden von Microsoft verwalteten Infrastruktur, mit der sich die App-Service-Plattform dem Leistungsbedarf deiner Web-Anwendung anpasst. Neben der Zeitplan- und Metrik-basierten Skalierung unterstützt der App-Service-Dienst seit einiger Zeit nun auch die vollautomatische Skalierung. Lese nun, wie du mit den neuen automatisierten Last-Tests den Erfolg deiner Skalierungsstrategie komfortabel testen kannst.
Zum Ausprobieren der neuen Funktion benötigst du eine Web-App, die du mit der neuen automatischen Skalierung bereitstellst. Dies klappt nur mit einem App-Service-Plan der Produktions-Kategorien (Standard, Premium), nicht aber mit den Dev/Test-Plänen.
Außerdem musst du die automatische Skalierung aktivieren.
Die automatische Skalierung befindet sich aktuell noch in der Public Preview. Sie ist aktuell für die Tarife Premium V2 (P1V2, P2V2, P3V2) und Premium V3 (P1V3, P2V3, P3V3) konfigurierbar und verfügbar und unterstützt alle App-Typen, sowie Windows, Linux und Windows-Container, allerdings nicht den Datenverkehr von Staging-Slots. Die neue Option zum Aufskalieren (Scale Out oder horizontale Skalierung) trifft und verarbeitet Skalierungsentscheidungen für deine Web-Apps und App Service-Pläne automatisch. Sie unterscheidet sich von der vorhandenen, klassischen Azure-Autoskalierung, bei der du mit Hilfe von Skalierungsregeln oder auf Basis von Zeitplänen skalierst. Mit der neuen automatischen Skalierung kannst du Skalierungseinstellungen anpassen, um die Leistung deiner Anwendung zu verbessern und Kaltstartprobleme zu vermeiden.
Die App-Service-Plattform „wärmt“ dann Instanzen vor, die beim Aufskalieren als Puffer fungieren, um reibungslose Performanceübergänge zu gewährleisten. Außerdem kannst du mit Hilfe von Application Insights-Livemetriken die aktuelle Anzahl der Instanzen überprüfen, und mit performanceCounters den Verlauf der Anzahl der Instanzen anzeigen. Azure stellt jede Instanz pro Sekunde in Rechnung, einschließlich vorgewärmter Instanzen. Um das Ganze zu testen navigiere in deiner Web App zum Abschnitt „Diagnose und Problembehandlung“ und klicke im Bereich „Load test your App“ auf den Link „Create Load Test“.
Optional kannst du im Menü „Leistung“ auf „Auslastungstests“ klicken. Lass uns nun die erste Variante weiterverfolgen.
Im Menü „Azure Load Testing“ klicke auf „Azure Load Testing-Ressource erstellen“.
Diese benötigt lediglich eine Azure-Subscription, eine Ressourcengruppe und einen (eindeutigen) Namen.
Wurde die Lasttest-Resource erstellt, folge dem Link zum Wechseln zur Lasttest-Resource und füge auf deren Übersichtsseite mit einem Klick auf „Erstellen“ eine http-Anforderung hinzu:
Hier wirst du wieder durch einen Assistenten geführt. Auf der Seite „Grundlagen“ benötigst du zunächst nur einen Namen und eine Beschreibung.
Füge im Tab „Testplan“ wenigsten eine Anforderung hinzu und ergänze bei URL den öffentlichen Endpunkt-URL (mit http://) deiner Web App. Klicken Sie dann auf „Hinzufügen“ im Blade Anforderung hinzufügen“ und dann auf „Überprüfen und Erstellen“ in der Lasttest-Resource.
Wurde die Lasttest-Resource erstellt, wird der Testlauf direkt automatisch gestartet: Beachte auch den Startwert 1 in der Spalte „Modulinstanzen“.
Ein gestarteter (laufender) Lasttest könnte so aussehen, wie in unten stehender Abbildung:
Lasse den Test eine Weile laufen und klicke ab und an auf „Aktualisieren“.
Du kannst den Test jederzeit abrechen, neu starten oder mehrere Testläufe mit unterschiedlichen Anforderungsparametern vergleichen. Warte aber beim ersten Testlauf einmal das finale Ergebnis ab.
Kontakt
„*“ zeigt erforderliche Felder an