Bewährte Methoden - Amazon DocumentDB

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

Lernen Sie bewährte Methoden für die Arbeit mit elastischen Amazon DocumentDB-Clustern kennen. 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.

Shard-Schlüssel auswählen

In der folgenden Liste werden Richtlinien für die Erstellung von Shard-Schlüsseln beschrieben.

  • Verwenden Sie einen gleichmäßig verteilten Hashschlüssel, um Ihre Daten auf alle Shards in Ihrem Cluster zu verteilen (vermeiden Sie Hotkeys).

  • Verwenden Sie Ihren Shard-Schlüssel in allen Anfragen zum Lesen/Aktualisieren/Löschen, um Scatter-Gather-Abfragen zu vermeiden.

  • Vermeiden Sie verschachtelte Shard-Schlüssel, wenn Sie Lese-/Aktualisierungs- und Löschvorgänge ausführen.

  • Wenn Sie Batch-Operationen ausführen, sollten Sie ordered den Wert auf False setzen, damit alle Shards parallel ausgeführt werden können und die Latenzen verbessert werden.

Verbindungsverwaltung

In der folgenden Liste werden Richtlinien für die Verwaltung Ihrer Verbindungen zu Ihrer Datenbank beschrieben.

  • Überwachen Sie die Anzahl Ihrer Verbindungen und wie häufig 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 nutzen, kann es zu Engpässen bei der maximalen Anzahl von Verbindungen kommen.

Sammlungen, die nicht geteilt wurden

Im Folgenden wird eine Richtlinie für Sammlungen ohne Sharding beschrieben.

  • Versuchen Sie bei der Arbeit mit Sammlungen ohne Sharded, um die Last zu verteilen, häufig genutzte Sammlungen ohne Sharded in verschiedenen Datenbanken zu speichern. Elastische Amazon DocumentDB-Cluster platzieren Datenbanken auf verschiedenen Shards und legen Sammlungen ohne Shards für dieselbe Datenbank auf demselben Shard zusammen.

Skalierung elastischer Cluster

In der folgenden Liste werden Richtlinien für die Skalierung Ihrer elastischen Cluster beschrieben.

  • Skalierungsvorgänge können für einen kurzen Zeitraum zu zeitweiligen Datenbank- und Netzwerkfehlern führen. Vermeiden Sie nach Möglichkeit eine Skalierung zu Spitzenzeiten. Versuchen Sie, während der Wartungsfenster zu skalieren.

  • Das Hoch- und Herunterskalieren der Shard-Kapazität (Änderung der CPU V-Anzahl pro Shard) zur Erhöhung der Rechenleistung wird der Erhöhung oder Verringerung der Shard-Anzahl vorgezogen, da dies schneller ist und eine kürzere Dauer von intermittierenden Datenbank- und Netzwerkfehlern zur Folge hat.

  • Wenn Sie ein Wachstum erwarten, sollten Sie die Anzahl der Shards 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.

Überwachung elastischer Cluster

In der folgenden Liste werden Richtlinien für die Überwachung Ihrer elastischen Cluster beschrieben.

  • Verfolgen Sie das peak-to-average Verhältnis Ihrer Metriken pro Shard, um festzustellen, ob Sie ungleichmäßigen Traffic generieren (Sie haben einen Hotkey/Hotspot). Die wichtigsten Kennzahlen zur Erfassung von Kennzahlen sind: peak-to-average

    • PrimaryInstanceCPUUtilization

      • Dies kann auf der Ebene pro Shard überwacht werden.

      • Auf Clusterebene können Sie den Mittelwert bis zur Abweichung von p99 überwachen.

    • PrimaryInstanceFreeableMemory

      • Dies kann auf der Ebene pro Shard überwacht werden.

      • Auf Clusterebene können Sie den Mittelwert bis zur Abweichung von p99 überwachen.

    • DatabaseCursorsMax

      • Dies sollte auf der Ebene pro Shard überwacht werden, um die Verzerrung zu ermitteln.

    • Documents-Inserted/Updated/Returned/Deleted

      • Dies sollte auf der Ebene pro Shard überwacht werden, um die Verzerrung zu ermitteln.