Kapazität einer Azure API Management-Instanz

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

Kapazität ist die wichtigste Azure Monitor-Metrik für das Treffen fundierter Entscheidungen im Hinblick auf die Skalierung oder das Upgrade einer API Management-Instanz zur Bewältigung höherer Lasten. Ihre Erstellung ist komplex und setzt ein bestimmtes Verhalten voraus.

In diesem Artikel wird erläutert, was die Kapazität ist und wie sie sich verhält. 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 der Kapazitätsmetrik überwachen und skalieren können. Es ist jedoch ebenso wichtig zu verstehen, was passiert, wenn die Kapazität einer API Management-Instanz tatsächlich erreicht ist. In Azure API Management wird keine Drosselung auf Dienstebene angewandt, um eine physische Überladung der Instanzen zu verhindern. Wenn die physische Kapazität einer Instanz erreicht ist, gleicht das Verhalten dem eines überlasteten Webservers, auf dem eingehende Anforderungen nicht verarbeitet werden können: Die Latenz steigt an, Verbindungen werden unterbrochen, Timeoutfehler treten auf usw. Das bedeutet, dass API-Clients so vorbereitet werden sollten, dass in diesem Fall wie bei jedem anderen externen Dienst vorgegangen wird (z. B. durch Anwendung von Wiederholungsrichtlinien).

Voraussetzungen

Damit Sie den Schritten in diesem Artikel folgen können, benötigen Sie folgende Komponenten:

Verfügbarkeit

Wichtig

Die Maximale Aggregation der Kapazitätsmetrik wird nur im Premium-Tarif von API Management unterstützt.

Was bedeutet Kapazität?

Diagramm zur Erläuterung der Kapazitätsmetrik

Die Kapazität ist ein Indikator für die Auslastung einer API Management-Instanz. Sie spiegelt die Verwendung der Ressourcen (CPU, Speicher) und die Länge von Netzwerkwarteschlangen wider. 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.

Die Gesamtkapazität ist ein Durchschnitt der eigenen Werte aus jeder Einheit einer API Management-Instanz.

Obwohl die Kapazitätsmetrik für die Ermittlung von Problemen mit Ihrer API Management-Instanz entworfen wurde, gibt es Fälle, bei denen Probleme nicht in den Änderungen der Kapazitätsmetrik berücksichtigt werden.

Verhalten der Kapazitätsmetrik

Aufgrund ihrer Erstellung kann die Kapazität in der Realität z.B. durch viele Variablen beeinflusst werden:

  • 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 Back-End-Dienst-Antworten führen ebenfalls hierzu.

Wichtig

Die Kapazität entspricht nicht direkt der Anzahl der verarbeiteten Anforderungen.

Metrik mit Kapazitätsspitzen

Die Kapazität kann 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.

Eine niedrige Kapazitätsmetrik bedeutet nicht zwingend, dass Ihre API Management-Instanz keine Probleme aufweist.

Verwenden des Azure-Portals zum Untersuchen der Kapazität

Kapazitätsmetrik

  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 Kapazität aus den verfügbaren Metriken aus, und behalten Sie den Standardaggregationstyp Mittelwert bei.

    Tipp

    Wenn Sie Ihre Instanz an mehreren Speicherorten bereitgestellt haben, sollten Sie immer nach einer Kapazitätsmetrik pro Standort suchen, um falsche Interpretationen zu vermeiden.

  4. Wenn Sie die Metrik nach Ort teilen möchten, wählen Sie oben im Abschnitt oben die Option Geteilt aus, und wählen Sie dann Speicherort aus.

  5. Wählen Sie den gewünschten Zeitraum aus der oberen Leiste des Abschnitts aus.

    Sie können eine Metrikwarnung festlegen, damit Sie benachrichtigt werden, wenn etwas Unerwartetes passiert. Beispiel: Sie erhalten Benachrichtigungen, wenn Ihre API-Managementinstanz ihre erwartete Höchstkapazität mehr als 20 Minuten überschritten hat.

    Tipp

    Sie können Warnungen konfigurieren, die Sie darüber informieren, wenn der Dienst mit niedriger Kapazität ausgeführt wird, oder die automatische Skalierung von Azure Monitor verwenden, um automatisch eine Azure API Management-Einheit hinzuzufügen. Der Skalierungsvorgang kann ca. 30 Minuten dauern, daher sollten Sie Ihre Regeln entsprechend planen.
    Nur die Skalierung des Masterspeicherorts ist erlaubt.

Treffen von Skalierungsentscheidungen anhand der Kapazität

Kapazität ist die Metrik, anhand derer entschieden werden sollte, 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 der Kapazitätswert60 % – 70 % für einen langen Zeitraum überschreitet (z. B. 30 Minuten). Andere Werte funktionieren möglicherweise besser für Ihren Dienst oder Ihr Szenario.
  • Wenn Ihre Instanz nur mit 1 Einheit konfiguriert ist, aktualisieren oder skalieren Sie Ihre Instanz, wenn der Kapazitätswert40 % für einen langen Zeitraum ü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.

Nächste Schritte