Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: NoSQL
Mit der prioritätsbasierten Ausführung können Benutzer die Priorität von Anforderungen angeben, die an Azure Cosmos DB gesendet werden. In Fällen, in denen die Anzahl der Anforderungen die Kapazität überschreitet, die innerhalb der konfigurierten Anforderungseinheiten pro Sekunde (RU/s) verarbeitet werden kann, drosselt Azure Cosmos DB Anforderungen mit niedriger Priorität, um die Ausführung von Anforderungen mit hoher Priorität zu priorisieren.
Mit diesem Feature können Benutzer kritische Aufgaben ausführen und gleichzeitig weniger wichtige Vorgänge verzögern, wenn der Gesamtverbrauch des Containers die konfigurierten RU/s in Hochlastszenarien überschreitet, indem zuerst Drosselungsmaßnahmen für Anforderungen mit niedriger Priorität implementiert werden. Jede Clientanwendung, die SDK verwendet, wiederholt Anforderungen mit niedriger Priorität gemäß der konfigurierten Wiederholungsrichtlinie.
Hinweis
Das Feature für die prioritätsbasierte Ausführung garantiert nicht immer die Einschränkung von Anforderungen mit niedriger Priorität zugunsten von Anforderungen mit hoher Priorität. Dies funktioniert nach dem Prinzip „beste Leistung“, und es gibt keine SLA,die mit der Leistung des Features verknüpft ist.
Anwendungsfälle
Sie können die prioritätsbasierte Ausführung verwenden, wenn Ihre Anwendung unterschiedliche Prioritäten für Workloads hat, die auf demselben Container ausgeführt werden. Zum Beispiel
- Priorisieren von Lese-, Schreib- oder Abfragevorgängen.
- Priorisieren von Benutzeraktionen und Hintergrundvorgängen wie
- Gespeicherte Prozeduren
- Erfassung/Migration von Daten
Erste Schritte
Um mit der prioritätsbasierten Ausführung zu beginnen, navigieren Sie zur Seite Features in Ihrem Azure Cosmos DB-Konto. Wählen Sie das Feature Prioritätsbasierte Ausführung (Vorschau) aus, und aktivieren Sie es.
SDK-Anforderungen
- .NET v3: v3.33.0-Preview oder höher
- Java v4: v4.45.0 oder höher
- Spark 3.2: v4.19.0 oder höher
- JavaScript v4: v4.0.0 oder höher
- Python: v4.5.2b2 oder höher. Nur in der Vorschauversion verfügbar.
Codebeispiele
using Microsoft.Azure.Cosmos;
//update products catalog with low priority
RequestOptions catalogRequestOptions = new ItemRequestOptions{PriorityLevel = PriorityLevel.Low};
PartitionKey pk = new PartitionKey(“productId1”);
ItemResponse<Product> catalogResponse = await this.container.CreateItemAsync<Product>(product1, pk, requestOptions);
//Display product information to user with high priority
RequestOptions getProductRequestOptions = new ItemRequestOptions{PriorityLevel = PriorityLevel.High};
string id = “productId2”;
PartitionKey pk = new PartitionKey(id);
ItemResponse<Product> productResponse = await this.container.ReadItemAsync< Product>(id, pk, getProductRequestOptions);
Überwachen der prioritätsbasierten Ausführung
Sie können das Verhalten von Anforderungen mit niedriger und hoher Priorität mithilfe von Azure-Monitormetriken im Azure-Portal überwachen. Weitere Informationen zu Metriken finden Sie unter Azure Monitor-Metriken.
Ändern der Standardprioritätsstufe eines Cosmos DB-Kontos
Wenn die prioritätsbasierte Ausführung aktiviert ist und die Prioritätsstufe für eine Anforderung durch den Benutzer nicht angegeben wird, werden alle diese Anforderungen mit hoher Priorität ausgeführt. Sie können die Standardprioritätsstufe von Anforderungen in einem Cosmos DB-Konto mithilfe von Azure CLI ändern.
Azure-Befehlszeilenschnittstelle (Azure CLI)
# install preview Azure CLI version 0.26.0 or later
az extension add --name cosmosdb-preview --version 0.26.0
# set subscription context
az account set -s $SubscriptionId
# Enable priority-based execution
az cosmosdb update --resource-group $ResourceGroup --name $AccountName --enable-priority-based-execution true
# change default priority level
az cosmosdb update --resource-group $ResourceGroup --name $AccountName --default-priority-level low
Priorität des Daten-Explorers
Wenn die prioritätsbasierte Ausführung für ein Cosmos DB-Konto aktiviert ist, werden alle Anforderungen im Daten-Explorer des Azure-Portals mit niedriger Priorität ausgeführt. Sie können dies anpassen, indem Sie die Prioritätseinstellung im Menü Einstellungen des Daten-Explorers ändern.
Hinweis
Diese clientseitige Konfiguration gilt nur für die Daten-Explorer-Ansicht des betroffenen Benutzers und wirkt sich nicht auf die Prioritätsstufe anderer Benutzer oder die Standardprioritätsstufe des Cosmos DB-Kontos aus.
Einschränkungen
- Für serverlose Datenbankkonten werden derzeit die folgenden Features nicht unterstützt.
- Das Verhalten der prioritätsbasierten Ausführungsfunktion ist für Datenbankcontainer mit gemeinsam genutztem Durchsatz nicht deterministisch.
Bekannte Probleme
- Bei Konsistenzebenen mit hoher und begrenzter Veraltung funktioniert die Priorisierung von Leseanforderungen möglicherweise nicht effektiv, sodass Schreibanforderungen mit niedriger Priorität unabhängig vom Lesedatenverkehr mit hoher Priorität ausgeführt werden können.
Nächste Schritte
- Siehe häufig gestellte Fragen zur prioritätsbasierten Ausführung
- Hier erfahren Sie mehr zur Burstkapazität.