Übersicht über Azure-API-Grenzwerte und Drosselung

Der Azure Resource Manager drosselt Verwaltungs-API-Anforderungen auf den folgenden Ebenen:

Azure Virtual Desktop und Nerdio Manager nutzen beide den zugrunde liegenden Azure Resource Manager über die Graph-API und unterliegen API-Grenzwerten und Drosselungen. Viele verschiedene Arten von API-Grenzwerten könnten theoretisch gelten, aber dieses Thema konzentriert sich speziell auf diejenigen Grenzwerte, die für AVD relevanter sind.

API-Grenzwerte sind auf den Security Principal (User oder Application), der die Anforderungen stellt, und die Abonnement-ID beschränkt. Einige VM-API-Grenzwerte sind auch auf eine bestimmte Azure-Region beschränkt. Daher erhöht die Erhöhung der Anzahl von Abonnementen, Azure-Regionen und Security Principals das aggregierte API-Limit.

Weitere Informationen zu API-Grenzwerten finden Sie in den folgenden Microsoft-Ressourcen:

Wie Nerdio Manager API verbraucht

Während des normalen Betriebs führt Nerdio Manager API-Aufrufe an Azure aus, um verschiedene Aktionen durchzuführen.

  • Interaktive Nutzung der Benutzeroberfläche: Nerdio Manager aktualisiert VM- und AVD-Werte über die API, wenn Benutzer durch die verschiedenen Seiten navigieren und ihren Browser aktualisieren. Der interaktive, UI-gesteuerte API-Verbrauch ist relativ gering.

  • Automatische Skalierung: Wenn die automatische Skalierung aktiviert ist, verwendet Nerdio Manager die API, um alle 5 Minuten (standardmäßig) den Status von VMs und Sitzungshosts innerhalb eines Hostpools zu überprüfen. Dieser Vorgang erfolgt im Hintergrund auf Basis der einzelnen Hostpools. Je mehr Hostpools und je mehr VMs sich in jedem Hostpool befinden, desto mehr API-Aufrufe werden verwendet, um den aktuellen Status der Umgebung zu erfassen und zu entscheiden, ob eine automatische Skalierungsmaßnahme erforderlich ist.

  • Automatische Zuweisungsaufhebung gestoppter VMs: Wenn ein User Windows auf seinem Desktop herunterfährt, befindet sich die VM im Zustand „gestoppt“, jedoch ohne dass die Zuweisung aufgehoben wurde. Dies bedeutet, dass der Compute-Kostenmesser weiterhin läuft, obwohl die VM nicht zugänglich ist. Nerdio Manager erkennt solche Hosts automatisch und hebt die Zuweisung auf, um Kosten zu sparen. Der VM-Deallocator-Dienst läuft im Hintergrund alle 10 (standardmäßig) Minuten und sucht nach VMs, bei denen die Zuweisung aufgehoben werden soll.

  • Metrikerfassung: Während jedes automatischen Skalierungsvorgangs eines Hostpools erfasst Nerdio Manager automatisch Informationen zur CPU-, RAM- und AVD-Sitzungsauslastung, um nützliche Verlaufsdiagramme zur automatischen Skalierung zu erstellen.

  • Geplante Aufgaben: Die meisten Aufgaben in Nerdio Manager können so geplant werden, dass sie nach einem Zeitplan und nicht interaktiv ausgeführt werden. Beispielsweise kann bei einem Hostpool ein Reimaging vorgenommen werden, das für die Mitte der Nacht geplant ist. Während bei VMs ein Reimaging vorgenommen wird, verbraucht Nerdio Manager während des Vorgangs API-Aufrufe.

  • Sonstiges: Die folgenden Aktionen verbrauchen eine geringe Anzahl an API-Aufrufen:

    • Automatische Skalierung von Azure Files und Azure NetApp Files

    • E-Mail-Benachrichtigungen

Empfehlungen zur Optimierung der API-Nutzung

Tipp

Optimierungen der API-Nutzung werden zu einem relevanten Thema, wenn Ihre AVD-Umgebung mehr als 500 Sitzungshost-VMs umfasst. Darüber hinaus ist es wichtig, die Azure-Umgebung auf Skalierbarkeit auszulegen, wenn Ihre AVD-Bereitstellung Tausende von VMs umfasst.

  • Verwenden Sie mehrere Azure-Abonnements

    • Wenn Ihre Bereitstellung mehr als 2500 VMs umfasst, teilen Sie die Bereitstellung auf mehrere Azure-Abonnements mit jeweils bis zu 2500 VMs auf.

    • Verwenden Sie eine Hub-Spoke-Architektur und verbinden Sie diese über Virtual Network Peering.

    • Erstellen Sie FSLogix-Speicher innerhalb des Abonnements, in dem die VMs bereitgestellt werden, um übermäßigen Netzwerkverkehr über VNet-Peering-Verbindungen zu vermeiden.

    • Vermeiden Sie es, einen einzelnen Hostpool über mehrere Abonnements zu verteilen (VMs in denselben Hostpools in zwei Abonnements).

    • Nerdio Manager kann AVD-Bereitstellungen verwalten, die sich über mehrere Abonnements erstrecken.

  • Verwenden Sie verschiedene Azure-Regionen

    • Azure-API-Grenzwerte für VM-Vorgänge sind regionsspezifisch. Mehr Regionen bedeuten höhere API-Grenzwerte.

    • Stellen Sie VMs in verschiedenen Regionen bereit, wenn Sie mehr als 2500 VMs in einem einzelnen Abonnement verwenden.

    • Verwenden Sie das integrierte Active/Active-Hostpool-DR, um VMs auf zwei Abonnements aufzuteilen. Weitere Informationen finden Sie unter Host Pool Disaster Recovery.

  • SQL-Datenbankgröße erhöhen: Weitere Informationen finden Sie unter Scale Up Nerdio Manager for Large Deployments.

  • UI-API-Optimierungen anwenden: Weitere Informationen finden Sie unter Scale Up Nerdio Manager for Large Deployments.

  • App Service-Plangröße erhöhen: Weitere Informationen finden Sie unter Scale Up Nerdio Manager for Large Deployments.

  • VM-Deallocator-Dienst anpassen: Wählen Sie eine der folgenden Optionen, um die Anzahl der vom VM-Deallocator-Dienst verwendeten API-Aufrufe zu reduzieren:

    • Deaktivieren Sie den VM-Deallocator global, wenn Sie nicht darauf angewiesen sind, dass User Windows herunterfahren (zum Beispiel, wenn sie nicht über lokale Admin-Rechte verfügen). Setzen Sie die App Service-Einstellung VmDeallocator:Enabled auf False. Weitere Informationen finden Sie unter Advanced App Service Configurations.

    • Reduzieren Sie die Häufigkeit des VM-Deallocator-Dienstes. Legen Sie die App Service-Einstellung VmDeallocator:RepeatIntervalInMinutes auf 60 oder 240 Minuten fest (Standardwert ist 10 Minuten). Der VM-Deallocator wird dann seltener ausgeführt und verwendet weniger API-Aufrufe. Weitere Informationen finden Sie unter Advanced App Service Configurations.

    • Deaktivieren Sie den VM-Deallocator auf Hostpool-Basis, wenn er für einige Hostpools verfügbar sein soll, für andere jedoch nicht. Navigieren Sie in Nerdio Manager zu Hostpool > Einstellungen > Virtuelle Maschinen und deaktivieren Sie Zuweisung ausgeschalteter VMs automatisch aufheben.

  • Ressourcengruppen an Hostpools ausrichten: Vermeiden Sie Hostpools, die VMs in mehreren Ressourcengruppen enthalten. Versuchen Sie, eine Ressourcengruppe an einem Hostpool auszurichten, um eine optimale API-Nutzung zu erzielen.

  • Anpassen des Autoscaling-Intervalls: Standardmäßig wird der Autoscaling-Prozess alle 5 Minuten für jeden Hostpool ausgeführt. Reduzieren Sie die Häufigkeit, mit der der Autoscaling-Hintergrunddienst ausgeführt wird. Legen Sie die App Service-Einstellung AutoScale:RepeatIntervalInMinutes auf 10 oder 15 Minuten fest. Weitere Informationen finden Sie unter Advanced App Service Configurations.

  • Anpassen der gleichzeitigen Verarbeitung im Autoscaling: Standardmäßig werden 10 Hostpools gleichzeitig durch Autoscaling verarbeitet. Passen Sie die App Service-Einstellung AutoScale:MaxAutoScaleProcesses an. Weitere Informationen finden Sie unter Advanced App Service Configurations.

  • Anpassen der gleichzeitigen Erstellung neuer VMs: Standardmäßig beträgt die maximale Anzahl gleichzeitiger Aufträge 100, wenn neue VMs zu Hostpools hinzugefügt werden. In stark ausgelasteten Azure-Abonnements kann dies andere Hintergrundaufgaben belasten. Passen Sie die App Service-Einstellung Provision:MaxAddNewVMJobsCount auf 25 oder 50 an, um zu vermeiden, dass während des VM-Erstellungsprozesses zu viele APIs beansprucht werden. Weitere Informationen finden Sie unter Advanced App Service Configurations.

  • Berücksichtigen Sie die Batch-Größe, wenn Sie ein Reimaging vornehmen: Wenn Sie ein Reimaging vornehmen, können Sie die Anzahl der Hosts festlegen, die gleichzeitig verarbeitet werden. Berücksichtigen Sie alle Hintergrundaufgaben, die während des Reimaging-Fensters ausgeführt werden könnten, und legen Sie Ihre Batch-Größe entsprechend fest.

  • „Neustart“-Versuche für Autoscaling und neue VM-Bereitstellung anpassen: Wenn Nerdio Manager während eines Autoscaling- oder VM-Erstellungsvorgangs auf einen Azure-Fehler stößt, pausiert der Job und versucht es nach einigen Minuten erneut. Die Standardanzahl der Wiederholungsversuche beträgt 2. Erwägen Sie in einer großen Umgebung, in der aufgrund des Erreichens von API-Grenzwerten eine API-Drosselung eintritt, die Anzahl der Wiederholungsversuche auf 4 oder 5 zu erhöhen. Passen Sie die App Service-Einstellung AutoScale:RestartAttempts und Provision:MaxRestartAttempts an. Weitere Informationen finden Sie unter Advanced App Service Configurations.

War dieser Beitrag hilfreich?

0 von 0 fanden dies hilfreich
Haben Sie Fragen? Anfrage einreichen

Kommentare (0 Kommentare)

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.