Bewertung der Durchsatzanforderungen
Anforderungseinheiten sind eine ratenbasierte Währung. Sie werden verwendet, um es zu vereinfachen, über physische Ressourcen wie Speicher, CPU und E/A zu kommunizieren, wenn Anforderungen in Azure Cosmos DB ausgeführt werden. Es ist zum Beispiel einfacher, sich vorzustellen, dass 10 Anforderungseinheiten in einem relativen Sinne etwa doppelt so viel sind wie fünf Anforderungseinheiten, ohne sich Gedanken über die physischen Ressourcen zu machen, die abstrahiert werden. Anforderungseinheiten werden verwendet, um sowohl Vordergrund- als auch Hintergrundaktivitäten zu messen.
Jede Anforderung verbraucht eine feste Anzahl von Anforderungseinheiten, einschließlich, aber nicht beschränkt auf:
- Lesevorgänge
- Schreibvorgänge (einschließlich Indizierungsvorgänge)
- Abfragen
Konfigurieren des Durchsatzes
Wenn Sie eine Datenbank oder einen Container in Azure Cosmos DB erstellen, können Sie Anforderungseinheiten in einem Inkrement von Anforderungseinheiten pro Sekunde (kurz RU/s) bereitstellen. Für den standardmäßig bereitgestellten Durchsatz beträgt die Mindestmenge, die Sie bereitstellen können, 400 RU/s. Für den automatisch bereitgestellten Durchsatz beträgt die Mindestmenge 1000 RU/s, was auf 100 RU/s herunterskaliert wird.
Schätzen des Ad-hoc-Verbrauchs von RU/s
Einige RU/s werden über verschiedene Zugriffsmethoden normalisiert, sodass viele gängige Vorgänge vorhersagbar sind. Mit diesem Wissen können Sie einige grundlegende Schätzungen für einfache Workloads durchführen. Sie können z. B. die für allgemeine Datenbankvorgänge erforderlichen RU/s schätzen, z. B. ein RU für einen Lesevorgang für ein 1-KB-Dokument und sechs RU für einen Schreibvorgang eines 1-KB-Dokuments mit deaktivierter Indizierung.

Mit dieser Strategie sollten Sie die Abfrage- und Zugriffsmuster Ihrer Lösung identifizieren, um eine fundierte Schätzung vorzunehmen, wie viele Anforderungseinheiten in Azure Cosmos DB benötigt werden. Um dies zu erreichen, benötigen Sie Informationen wie:
- Die fünf wichtigsten Abfragen
- Anzahl der Lesevorgänge pro Sekunde
- Anzahl der Schreibvorgänge pro Sekunde
Tipp
Die Messung von RU/s für Abfragen sollte im großen Stil erfolgen. Das Messen von Abfragen, die auf einer einzelnen physischen Partition ausgeführt werden, führt nach der Bereitstellung und horizontalen Skalierung zu keinen signifikanten Erkenntnissen über den tatsächlich genutzten Durchsatz in Ihrem realen Anwendungsszenario.
Sie können eine Tabellenkalkulationsanwendung verwenden, um schnell eine Tabelle zu erstellen und eine grobe Schätzung der erforderlichen Kapazität für Anforderungseinheiten zu erhalten. Hier sehen Sie ein kurzes Beispiel:
| Vorgangstyp | Anzahl der Anforderungen pro Sekunde | Anzahl RU pro Anforderung | Erforderliche RU/s |
|---|---|---|---|
| Schreiben eines einzelnen Dokuments | 10.000 | 10 | 100.000 |
| Wichtigste Abfrage Nr. 1 | 700 | 100 | 70.000 |
| Wichtigste Abfrage Nr. 2 | 200 | 100 | 20.000 |
| Wichtigste Abfrage Nr. 3 | 100 | 100 | 10.000 |
| RU/s gesamt | 200.000 RU/s |
Tipp
Sie können auch eine Proof of Concept-Anwendung ausführen und die Eigenschaft request charge (Anforderungsgebühr) des SDK verwenden, um die tatsächliche RU-Gebühr für die Ausführung der Vorgänge zu messen, die Sie für Azure Cosmos DB durchführen möchten.