Automatische Skalierung in Azure App Service

Hinweis

Die automatische Skalierung befindet sich in der Vorschauphase. Es ist für die Tarife Premium V2 (P1V2, P2V2, P3V2) und Premium V3 (P1V3, P2V3, P3V3) verfügbar und wird für alle App-Typen unterstützt: Windows, Linux und Windows-Container. Die automatische Skalierung wird für den Bereitstellungsslotdatenverkehr nicht unterstützt.

Die automatische Skalierung ist eine neue Aufskalierungsoption, mit der Skalierungsentscheidungen für Ihre Web-Apps und App Service-Pläne automatisch verarbeitet werden. Sie unterscheidet sich von der bereits vorhandenen Azure-Autoskalierung, mit der Sie Skalierungsregeln basierend auf Zeitplänen und Ressourcen definieren können. Mit der automatischen Skalierung können Sie Skalierungseinstellungen anpassen, um die Leistung Ihrer App zu verbessern und Kaltstartprobleme zu vermeiden. Die Plattform wärmt Instanzen vor, die beim Aufskalieren als Puffer fungieren, sodass reibungslose Leistungsübergänge gewährleistet werden. Sie können mit Application Insights-Livemetriken die aktuelle Anzahl der Instanzen überprüfen, und mit performanceCounters den Verlauf der Anzahl der Instanzen anzeigen. Jede Instanz wird Ihnen pro Sekunde in Rechnung gestellt, einschließlich vorgewärmter Instanzen.

Ein Vergleich der Optionen für Auf- und Abskalieren in App Service:

  Manuell Automatische Skalierung Autoskalierung
Verfügbare Tarife Basic und höher Standard und höher Premium V2 (P1V2, P2V2, P3V2) und Premium V3 (P1V3, P2V3, P3V3)
Regelbasierte Skalierung Nein Ja Nein, die Plattform verwaltet die Auf- und Abskalierung basierend auf HTTP-Datenverkehr.
Zeitplanbasierte Skalierung Nein Ja Nein
Jederzeit bereite Instanzen Nein, Ihre Web-App wird mit der Anzahl manuell skalierter Instanzen ausgeführt. Nein, Ihre Web-App wird auf anderen Instanzen ausgeführt, die während des Aufskalierungsvorgangs verfügbar sind, basierend auf dem Schwellenwert, der für Regeln für die Autoskalierung definiert ist. Ja (mindestens 1)
Vorgewärmte Instanzen Nein Nein Ja (standardmäßig 1)
Maximaler Wert pro App Nein Nein Ja

So funktioniert die automatische Skalierung

Sie können die automatische Skalierung für einen App Service-Plan aktivieren und eine Reihe von Instanzen für jede der Web-Apps konfigurieren. Wenn Ihre Web-App HTTP-Datenverkehr empfängt, überwacht App Service die Auslastung und fügt Instanzen hinzu. Ressourcen können freigegeben werden, wenn mehrere Web-Apps innerhalb eines App Service-Plans gleichzeitig hochskaliert werden müssen.

Im Folgenden finden Sie einige Szenarien, in denen Sie automatisch aufskalieren sollten:

  • Sie möchten keine Regeln für die Autoskalierung basierend auf Ressourcenmetriken einrichten.
  • Sie möchten, dass Ihre Web-Apps innerhalb desselben App Service-Plan unterschiedlich und unabhängig voneinander skaliert werden.
  • Ihre Web-App ist mit einer Datenbank oder einem Legacysystem verbunden, das möglicherweise nicht so schnell skaliert wird wie die Web-App. Mithilfe der Autoskalierung können Sie die maximale Anzahl von Instanzen festlegen, auf die Ihr App Service-Plan skaliert werden kann. Diese Einstellung hilft der Web-App, das Back-End nicht zu überlasten.

Aktivieren der automatischen Skalierung

Der maximale Burst ist die höchste Anzahl von Instanzen, auf die Ihr App Service-Plan basierend auf eingehenden HTTP-Anforderungen erhöht werden kann. Für Premium v2- und v3-Pläne können Sie einen maximalen Burst von bis zu 30 Instanzen festlegen. Der maximale Burst muss gleich oder größer sein als die Anzahl von Workern, die für den App Service-Plan angegeben sind.

Wichtig

Always ON muss deaktiviert werden, um die automatische Skalierung zu verwenden.

Um die automatische Skalierung zu aktivieren, navigieren Sie zum linken Menü der Web-App und wählen die Option Aufskalieren (App Service-Plan) aus. Wählen Sie Automatisch (Vorschau) aus, aktualisieren Sie den Wert für den Maximalen Burst, und wählen Sie die Schaltfläche Speichern aus.

Automatic scaling in Azure portal

Festlegen der Mindestanzahl von Web-App-Instanzen

„Jederzeit bereite Instanzen“ ist eine Einstellung auf App-Ebene, über die die Mindestanzahl von Instanzen angegeben werden können. Übersteigt die Last das, was die jederzeit bereiten Instanzen bewältigen können, werden zusätzliche Instanzen hinzugefügt (bis zum angegebenen maximalen Burst für den App Service-Plan).

Um die Mindestanzahl von Web-App-Instanzen festzulegen, navigieren Sie zum linken Menü der Web-App, und wählen Sie Aufskalieren (App Service-Plan) aus. Aktualisieren Sie den Wert Jederzeit bereite Instanzen, und wählen Sie die Schaltfläche Speichern aus.

Screenshot of always ready instances

Festlegen der maximalen Anzahl von Web-App-Instanzen

Das Limit für maximale Skalierung legt die maximale Anzahl von Instanzen fest, auf die eine Web-App skaliert werden kann. Das Limit für maximale Skalierung hilft, wenn der Durchsatz einer Downstreamkomponente wie einer Datenbank begrenzt ist. Das Maximum pro App kann zwischen 1 und dem Wert für den maximalen Burst sein.

Um die Maximanzahl von Web-App-Instanzen festzulegen, navigieren Sie zum linken Menü der Web-App, und wählen Sie Aufskalieren (App Service-Plan) aus. Wählen Sie Grenzwert für Aufskalieren erzwingen aus, aktualisieren Sie das Maximale Skalierungslimit, und wählen Sie die Schaltfläche Speichern aus.

Screenshot of maximum scale limit

Aktualisieren von vorgewärmten Instanzen

Die Einstellung für vorgewärmte Instanzen stellt während der HTTP-Skalierungs- und Aktivierungsereignisse ständig betriebsbereite Instanzen als Puffer bereit. Vorgewärmte Instanzen setzen die Pufferung fort, bis der Grenzwert für maximale horizontale Skalierung erreicht wird. Die standardmäßige Anzahl vorgewärmter Instanzen ist 1, und dieser Wert sollte für die meisten Szenarien beibehalten werden.

Sie können die Einstellung für vorgewärmte Instanzen im Portal nicht ändern. Stattdessen müssen Sie die Azure CLI verwenden.

Deaktivieren der automatischen Skalierung

Um die automatische Skalierung zu deaktivieren, navigieren Sie zum linken Menü der Web-App und wählen die Option Aufskalieren (App Service-Plan) aus. Wählen Sie Manuell und dann die Schaltfläche Speichern aus.

Screenshot of manual scaling

Unterstützt die automatische Skalierung Azure-Funktions-Apps?

Nein, Sie können nur Azure App Service Web-Apps im App Service-Plan haben, wo Sie die automatische Skalierung aktivieren möchten. Wenn Sie über Azure-Funktions-Apps im gleichen App Service-Plan verfügen oder neue Azure-Funktions-Apps erstellen, ist die automatische Skalierung deaktiviert. Für Functions wird stattdessen die Verwendung des Azure Functions Premium-Plans empfohlen.

Weitere Ressourcen