Ermitteln der Gebühr für Anforderungseinheiten für Vorgänge, die in Azure Cosmos DB for MongoDB ausgeführt werden

GILT FÜR: MongoDB

Azure Cosmos DB unterstützt viele APIs wie z.B. SQL, MongoDB, Cassandra, Gremlin und Tabelle. Jede API verfügt über einen eigenen Satz von Datenbankvorgängen. Diese Vorgänge reichen von einfachen Lese- und Schreibvorgängen für Datenpunkte bis hin zu komplexen Abfragen. Jeder Datenbankvorgang beansprucht je nach Komplexität eine bestimmte Menge an Systemressourcen.

Die Kosten sämtlicher Datenbankvorgänge werden von Azure Cosmos DB normalisiert und in Anforderungseinheiten (Request Units, RUs) ausgedrückt. Die Anforderungsgebühr entspricht den insgesamt für Ihre Datenbankvorgänge genutzten Anforderungseinheiten. Sie können sich Anforderungseinheiten als Währung zur Abstrahierung der Systemressourcen wie CPU, IOPS und Arbeitsspeicher vorstellen, die zum Ausführen der von Azure Cosmos DB unterstützten Datenbankvorgänge erforderlich sind. Unabhängig davon, welche API Sie für die Interaktion mit Ihrem Azure Cosmos DB-Container verwenden, werden die Kosten immer in RUs gemessen. Unabhängig davon, ob es sich bei dem Datenbankvorgang um einen Schreib-, Lese- oder Abfragevorgang handelt, werden die Kosten immer in RUs gemessen. Weitere Informationen finden Sie im Artikel Aspekte zu Anforderungseinheiten.

In diesem Artikel werden verschiedene Methoden beschrieben, mit denen Sie den Verbrauch von Anforderungseinheiten (Request Units, RU) für einen beliebigen Vorgang ermitteln können, der für einen Container in Azure Cosmos DB for MongoDB ausgeführt wurde. Wenn Sie eine andere API verwenden, finden Sie weitere Informationen zum Ermitteln der RU/s-Gebühr in den Artikeln zur API für NoSQL, API für Cassandra, API für Gremlin und API für Table.

Die RU-Gebühr wird durch einen benutzerdefinierten Datenbankbefehl namens getLastRequestStatistics verfügbar gemacht. Der Befehl gibt ein Dokument zurück, das den Namen des letzten ausgeführten Vorgangs sowie dessen Anforderungsgebühr und Dauer enthält. Wenn Sie Azure Cosmos DB for MongoDB verwenden, haben Sie mehrere Optionen zum Abrufen der RU-Gebühr.

Verwenden des Azure-Portals

  1. Melden Sie sich beim Azure-Portal an.

  2. Erstellen Sie ein neues Azure Cosmos DB-Konto, und fügen Sie ihm Daten hinzu, oder wählen Sie ein vorhandenes Konto aus, das bereits Daten enthält.

  3. Wechseln Sie zum Bereich Daten-Explorer, und wählen Sie dann den gewünschten Container aus.

  4. Wählen Sie das Feld ... neben dem Containernamen und wählen Sie Neue Abfrage aus.

  5. Geben Sie eine gültige Abfrage ein, und wählen Sie dann Abfrage ausführen aus.

  6. Wählen Sie Query Stats (Abfragestatistik) aus, um die tatsächliche Anforderungsgebühr für die ausgeführte Anforderung anzuzeigen. Mit diesem Abfrage-Editor können Sie Gebühren für Anforderungs Einheiten nur für Abfrage Prädikate ausführen und anzeigen. Sie können diesen Editor nicht für Datenmanipulationsbefehle wie z. B. Einfügeanweisungen verwenden.

    Screenshot: Anforderungsgebühr für eine MongoDB-Abfrage im Azure-Portal

  7. Um Anforderungsgebühren für Datenmanipulationsbefehle zu erhalten, führen Sie den getLastRequestStatisticsBefehl von einer Shell-basierten UI, wie Mongo Shell,Robo 3T,MongoDB Compass, oder einer VS Code-Erweiterung mit Shell-Skripting aus.

    db.runCommand({getLastRequestStatistics: 1})

Programmgesteuert

Wenn Sie die Mongo-Shell verwenden, können Sie Befehle mithilfe von „runCommand()“ ausführen.

db.runCommand('getLastRequestStatistics')

Nächste Schritte

Informationen zum Optimieren Ihres RU-Verbrauchs finden Sie in diesen Artikeln: