Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bewährte Methoden für Amazon DocumentDB Elastic Cluster
Erfahren Sie mehr über bewährte Methoden für die Arbeit mit elastischen Amazon DocumentDB-Clustern. Alle bewährten Methoden für instanzbasierte Amazon DocumentDB-Cluster gelten auch für elastische Cluster. Dieser Abschnitt wird fortlaufend aktualisiert, wenn neue bewährte Methoden identifiziert werden.
Topics
Auswahl von Shard-Schlüsseln
In der folgenden Liste werden Richtlinien für die Erstellung von Shard-Schlüsseln beschrieben.
Verwenden Sie einen gleichmäßig verteilten Hash-Schlüssel, um Ihre Daten auf alle Shards in Ihrem Cluster zu verteilen (vermeiden Sie Hotkeys).
Verwenden Sie Ihren Shard-Schlüssel in allen read/update /delete-Anfragen, um Scatter Gather-Abfragen zu vermeiden.
Vermeiden Sie verschachtelte Shard-Schlüssel, wenn Sie /delete-Operationen ausführen. read/update
Wenn Sie Batch-Operationen ausführen, setzen Sie
orderedden Wert auf false, damit alle Shards parallel ausgeführt werden können und die Latenzen verbessert werden.
Verbindungsverwaltung
Die folgende Liste beschreibt Richtlinien für die Verwaltung Ihrer Verbindungen zu Ihrer Datenbank.
Überwachen Sie die Anzahl Ihrer Verbindungen und wie oft neue Verbindungen geöffnet und geschlossen werden.
Verteilen Sie Ihre Verbindungen auf alle Subnetze in der Konfiguration Ihrer Anwendung. Wenn Ihr Cluster in mehreren Subnetzen konfiguriert ist, Sie aber nur eine Teilmenge der Subnetze verwenden, kann es zu Engpässen bei Ihrer maximalen Anzahl von Verbindungen kommen.
Ungeteilte Sammlungen
Im Folgenden wird eine Richtlinie für Sammlungen ohne gemeinsame Nutzung beschrieben.
Wenn Sie mit Sammlungen ohne Sharded arbeiten, sollten Sie zur Lastverteilung versuchen, häufig genutzte Sammlungen ohne Sharded in verschiedenen Datenbanken zu speichern. Elastische Amazon DocumentDB-Cluster platzieren Datenbanken auf verschiedenen Shards und platzieren Sammlungen, die nicht gemeinsam genutzt wurden, für dieselbe Datenbank auf demselben Shard.
Skalierung elastischer Cluster
In der folgenden Liste werden Richtlinien für die Skalierung Ihrer elastischen Cluster beschrieben.
Skalierungsvorgänge können kurzzeitig zu zeitweiligen Datenbank- und Netzwerkfehlern führen. Vermeiden Sie nach Möglichkeit die Skalierung zu Spitzenzeiten. Versuchen Sie, während Wartungszeitfenstern zu skalieren.
Das Hoch- und Herunterskalieren der Shard-Kapazität (Änderung der vCPU-Anzahl pro Shard) zur Erhöhung der Rechenleistung wird dem Erhöhen oder Verringern der Shard-Anzahl vorgezogen, da dies schneller ist und die Dauer intermittierender Datenbank- und Netzwerkfehler kürzer ist.
Wenn Sie mit einem Wachstum rechnen, ziehen Sie es vor, die Anzahl der Shards zu erhöhen, anstatt die Shard-Kapazität zu skalieren. Auf diese Weise können Sie Ihren Cluster skalieren, indem Sie die Shard-Kapazität für Szenarien erhöhen, in denen Sie schnell skalieren müssen.
Überwachen Sie Ihre clientseitigen Wiederholungsrichtlinien und versuchen Sie es erneut mit exponentiellem Backoff und Jitter, um eine Überlastung Ihrer Datenbank zu vermeiden, wenn bei der Skalierung Fehler auftreten.
Das Ändern der Anzahl der Shards kann einige Zeit in Anspruch nehmen, da Daten sicher von einem Shard zum anderen verschoben werden müssen. Um das Fehlerrisiko zu minimieren, unterbrechen Sie den Cluster-Status nicht und nehmen Sie keine anderen Änderungen am Cluster-Status vor, während die Änderung im Gange ist.
Überwachung elastischer Cluster
In der folgenden Liste werden Richtlinien für die Überwachung Ihrer Elastic Cluster beschrieben.
-
Verfolgen Sie das Verhältnis zwischen Spitze und Durchschnitt Ihrer Kennzahlen pro Shard, um festzustellen, ob Sie ungleichmäßigen Traffic generieren (einen Hotspot haben). key/hot Die wichtigsten Kennzahlen zur Erfassung des Spitzenwerts im Vergleich zum Durchschnittswert sind:
PrimaryInstanceCPUUtilizationDies kann auf der Ebene pro Shard überwacht werden.
Auf Cluster-Ebene können Sie den Durchschnitt bis auf p99 Skew überwachen.
PrimaryInstanceFreeableMemoryDies kann auf der Ebene pro Shard überwacht werden.
Auf Cluster-Ebene können Sie den Durchschnitt bis auf p99 Skew überwachen.
DatabaseCursorsMaxDies sollte auf der Ebene pro Shard überwacht werden, um den Skew zu ermitteln.
Documents-Inserted/Updated/Returned/DeletedDies sollte auf der Ebene pro Shard überwacht werden, um den Skew zu ermitteln.