Kapazität einer Azure API Management-Instanz
GILT FÜR: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium
API Management bietet Azure Monitor-Metriken, um die Verwendung der Systemkapazität zu erkennen, Ihnen bei der Behandlung von Gatewayproblemen zu helfen und Sie beim Treffen einer fundierten Entscheidung zu unterstützen, ob eine API Management-Instanz zur Bewältigung höherer Lasten skaliert oder aktualisiert werden sollte.
In diesem Artikel werden die Kapazitätsmetriken und ihr Verhalten erläutert, und Sie erfahren, wie Sie auf Kapazitätsmetriken im Azure-Portal zugreifen können und wann Sie Ihre API Management-Instanz skalieren oder aktualisieren sollten.
Hinweis
Dieses Feature ist derzeit in Arbeitsbereichen nicht verfügbar.
Wichtig
In diesem Artikel wird erläutert, wie Sie Ihre Azure API Management-Instanz basierend auf den Kapazitätsmetriken überwachen und skalieren können. Wenn eine Instanz ihre Kapazität erreicht, wird sie jedoch nicht gedrosselt, um das Überladen zu verhindern. Stattdessen verhält sie sich wie ein überladener Webserver: erhöhte Wartezeit, getrennte Verbindungen und Timeoutfehler. API-Clients sollten diese Probleme wie bei anderen externen Diensten behandeln können, z. B. mithilfe von Wiederholungsrichtlinien.
Voraussetzungen
Um die Schritte in diesem Artikel auszuführen, müssen Sie über eine API Management-Instanz in einer der Ebenen verfügen, die Kapazitätsmetriken unterstützen. Weitere Informationen finden Sie unter Erstellen einer neuen Azure API Management-Dienstinstanz.
Verfügbare Kapazitätsmetriken
In den v2-Dienstebenen und den Ebenen vom Typ „Klassisch“ sind verschiedene Kapazitätsmetriken verfügbar.
In den v2-Ebenen sind die folgenden Metriken verfügbar:
CPU-Prozentsatz des Gateways: Der Prozentsatz der CPU-Kapazität, die von den Gatewayeinheiten verwendet wird
Prozentsatz des Arbeitsspeichers des Gateways: Der Prozentsatz der Arbeitsspeicherkapazität, die von den Gatewayeinheiten verwendet wird
Folgende Aggregationen sind für diese Metriken verfügbar:
- Durchschnitt: Durchschnittlicher Prozentsatz der Kapazität, die für alle Gatewayprozesse in jeder Einheit einer API Management-Instanz verwendet wird
- Max: Prozentsatz der Kapazität im Gatewayprozess mit dem höchsten Verbrauch
Die CPU- und Speicherauslastung zeigt den Verbrauch der Ressourcen nach:
- API Management-Diensten auf Datenebene, wie z. B. die Anforderungsverarbeitung, die das Weiterleiten von Anforderungen oder das Ausführen einer Richtlinie umfassen kann
- API Management-Diensten auf Verwaltungsebene, z. B. über das Azure-Portal oder Azure Resource Manager angewandte Verwaltungsaktionen oder vom Entwicklerportal stammende Lasten.
- Ausgewählten Betriebssystemprozessen, einschließlich Prozessen, für die Kosten für TLS-Handshakes bei neuen Verbindungen anfallen
- Plattformupdates, z. B. Betriebssystemupdates für die zugrunde liegenden Berechnungsressourcen für die Instanz.
- Anzahl der bereitgestellten APIs, unabhängig von der Aktivität, die zusätzliche Kapazität verbrauchen kann.
Verhalten der Kapazitätsmetrik
Die Kapazitätsmetriken können in der Realität durch viele Variablen beeinflusst werden, z. B.:
- Verbindungsmuster (neue Verbindung auf Anforderung und Wiederverwendung der bestehenden Verbindung im Vergleich)
- Größe einer Anforderung und Antwort
- Richtlinien, die für jede API oder Anzahl der Clients, die Anfragen senden, konfiguriert sind.
Je komplexer die Vorgänge für die Anforderungen sind, desto höher ist der Kapazitätsverbrauch. Beispielsweise verbrauchen komplexe Transformationsrichtlinien viel mehr CPU als eine einfache Weiterleitung von Anforderungen. Langsame Antworten des Back-End-Diensts führen ebenfalls zu einer höheren CPU-Last.
Wichtig
Kapazitätsmetriken entsprechen nicht direkt der Anzahl der verarbeiteten Anforderungen.
Kapazitätsmetriken können auch vorübergehend Spitzen aufweisen oder größer als 0 (null) sein, selbst wenn keine Anforderungen verarbeitet werden. Dies geschieht aufgrund von system- oder plattformspezifischen Aktionen und sollte bei der Entscheidung, ob eine Instanz skaliert werden soll, nicht berücksichtigt werden.
Obwohl Kapazitätsmetriken für die Ermittlung von Problemen mit Ihrer API Management-Instanz entworfen wurden, gibt es Fälle, bei denen Probleme nicht in den Änderungen dieser Metriken berücksichtigt werden. Niedrige Kapazitätsmetriken bedeuten außerdem nicht zwingend, dass Ihre API Management-Instanz keine Probleme aufweist.
Verwenden des Azure-Portals zum Untersuchen der Kapazitätsmetriken
Greifen Sie auf Metriken im Portal zu, um zu verstehen, wie viel Kapazität im Laufe der Zeit verwendet wird.
- Navigieren Sie im Azure-Portal zu Ihrer API Management-Instanz.
- Klicken Sie links im Menü unter Überwachung auf Metrik.
- Wählen Sie die Metrik CPU-Prozentsatz des Gateways oder Arbeitsspeicherprozentsatz des Gateways aus den verfügbaren Metriken aus. Wählen Sie die Standardaggregation Durchschnitt oder die Aggregation Max aus, um die Spitzenauslastung anzuzeigen.
- Wählen Sie den gewünschten Zeitraum aus der oberen Leiste des Abschnitts aus.
Wichtig
Derzeit wird die Metrik Kapazität auch im Portal für Instanzen in v2-Ebenen angezeigt. Sie wird jedoch nicht für die Verwendung in den v2-Ebenen unterstützt und zeigt den Wert 0 an.
Hinweis
Sie können eine Metrikwarnung festlegen, damit Sie benachrichtigt werden, wenn etwas Unerwartetes passiert. Beispiel: Sie erhalten Benachrichtigungen, wenn Ihre API Management-Instanz ihre erwartete Spitzenauslastung der CPU oder des Arbeitsspeichers mehr als 20 Minuten überschritten hat.
Treffen von Skalierungsentscheidungen anhand der Kapazität
Verwenden Sie Kapazitätsmetriken, um zu entscheiden, ob eine API Management-Instanz zur Bewältigung höherer Lasten skaliert werden sollte. Im Folgenden sind allgemeine Überlegungen aufgeführt:
- Berücksichtigen Sie den langfristigen Trend und den Durchschnitt.
- Ignorieren Sie plötzliche Spitzen, die höchstwahrscheinlich nicht mit einem Anstieg der Last zusammenhängen (siehe Abschnitt Verhalten der Kapazitätsmetrik für eine Erklärung).
- Als allgemeine Regel aktualisieren oder skalieren Sie Ihre Instanz, wenn ein Kapazitätsmetrikwert für einen langen Zeitraum (z. B. 30 Minuten) 60 %–70 %überschreitet. Andere Werte funktionieren möglicherweise besser für Ihren Dienst oder Ihr Szenario.
- Wenn Ihre Instanz nur mit einer Einheit konfiguriert ist, aktualisieren oder skalieren Sie Ihre Instanz, wenn ein Kapazitätsmetrikwert für einen langen Zeitraum 40 % überschreitet. Diese Empfehlung basiert auf der Notwendigkeit, Kapazität für Gastbetriebsupdates in der zugrunde liegenden Dienstplattform zu reservieren.
Tipp
Wenn Sie den Datenverkehr im Vorfeld schätzen können, testen Sie Ihre API-Managementinstanz auf die von Ihnen erwarteten Workloads. Sie können die Anforderungslast auf Ihren Mandanten schrittweise erhöhen und den Wert der Kapazitätsmetrik prüfen, der Ihrer Spitzenlast entspricht. Führen Sie die Schritte aus dem vorherigen Abschnitt zur Verwendung des Azure-Portals aus, um zu erkennen, wie viel Kapazität zu einem bestimmten Zeitpunkt verbraucht wird.