Freigeben über


Kapazität einer Azure API Management-Instanz

GILT FÜR: Developer | Basic | Basic v2 | Standard | Standard v2 | Premium | Premium v2

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.

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.

Tipp

API-Teams können dieses Feature in Arbeitsbereichen verwenden. Arbeitsbereiche bieten isolierten administrativen Zugriff auf APIs und ihre eigenen API-Runtimeumgebungen.

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

Verschiedene Kapazitätsmetriken sind in den v2-Dienstebenen, klassischen Ebenen und Arbeitsbereichsgateways 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

    Hinweis

    Derzeit wird die Metrik "Memory Percentage of Gateway" in der Premium v2-Stufe nicht unterstützt.

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.

Metrik mit Kapazitätsspitzen

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 darauf ausgelegt sind, Probleme mit Ihrer API-Verwaltungsinstanz (oder dem Arbeitsbereichsgateway) anzuzeigen, gibt es Fälle, in denen Probleme nicht in Änderungen dieser Metriken widerzuspiegeln sind. 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.

  1. Navigieren Sie im Azure-Portal zu Ihrer API Management-Instanz.
  2. Klicken Sie links im Menü unter Überwachung auf Metrik.
  3. 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.
  4. 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 Entscheidungen zu treffen, ob eine API-Verwaltungsinstanz (oder ein Arbeitsbereichsgateway) skaliert werden soll, um mehr Last aufzunehmen. 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 Ihr Instanz- oder Arbeitsbereichsgateway nur mit einer Einheit konfiguriert ist, aktualisieren oder skalieren Sie es, wenn ein Kapazitätsmetrikwert 40% für einen längeren Zeitraum überschreitet. Diese Empfehlung basiert auf der Notwendigkeit, Kapazität für Gastbetriebsupdates in der zugrunde liegenden Dienstplattform zu reservieren.

Tipp

Wenn Sie Ihren Datenverkehr vorab schätzen können, testen Sie Ihre API-Verwaltungsinstanz oder das Arbeitsbereichsgateway auf Workloads, die Sie erwarten. Sie können die Anforderungslast schrittweise erhöhen und den Wert der Kapazitätsmetrik überwachen, die 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.

Wichtig

Achten Sie beim Definieren von Regeln für die automatische Skalierung darauf, Schwankungen zu vermeiden, die zu einem Skalierungszyklus führen. Um mehr zu erfahren, empfehlen wir, die Anleitung von Azure Monitor Autoscale zum Thema Flapping zu lesen.