Zusätzliche Konfiguration für Neptune Serverless DB-Cluster und -Instances - Amazon Neptune

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.

Zusätzliche Konfiguration für Neptune Serverless DB-Cluster und -Instances

Neben der Festlegung der Mindest- und Höchstkapazität für Ihren Neptune Serverless DB-Cluster gibt es noch einige weitere Konfigurationsoptionen, die Sie in Betracht ziehen sollten.

Kombination von Serverless- und bereitgestellten Instances in einem DB-Cluster

Ein DB-Cluster muss nicht nur Serverless sein – Sie können eine Kombination aus Serverless- und bereitgestellten Instances (eine gemischte Konfiguration) erstellen.

Nehmen Sie zum Beispiel an, dass Sie mehr Schreibkapazität benötigen, als in einer Serverless-Instance verfügbar ist. In diesem Fall können Sie den Cluster mit einem sehr großen bereitgestellten Writer einrichten und trotzdem Serverless-Instances für die Reader-Instances verwenden.

Oder nehmen Sie an, dass die Schreib-Workload auf Ihrem Cluster variiert, die Lese-Workload jedoch stabil ist. In diesem Fall können Sie Ihren Cluster mit einem Serverless-Writer und einem oder mehreren bereitgestellten Readern einrichten.

Siehe Verwendung von Amazon Neptune Serverless für Informationen darüber, wie Sie einen DB-Cluster mit gemischter Konfiguration erstellen.

Festlegung der Promotion-Stufen für Neptune Serverless-Instances

Bei Clustern mit mehreren Serverless-Instances oder mit einer Mischung aus bereitgestellten und Serverless-Instances achten Sie auf die Einstellung der Hochstufungsstufe für jede einzelne Serverless-Instance. Diese Einstellung steuert mehr Verhaltensweisen für Serverless-Instances als für bereitgestellte DB-Instances.

Im AWS Management Console, geben Sie diese Einstellung mithilfe der Failover-Priorität unter Zusätzliche Konfiguration auf den Seiten Datenbank erstellen, Instanz ändern und Leser hinzufügen an. Sie sehen diese Eigenschaft für vorhandene Instances in der optionalen Spalte Priority tier (Prioritätsstufe) auf der Seite Databases (Datenbanken). Diese Eigenschaft können Sie auch der Detailseite für einen DB-Cluster oder eine Instance entnehmen.

Bei bereitgestellten Instances bestimmt die Auswahl der Stufe 0 bis 15 nur die Reihenfolge, in der Neptune entscheidet, welche Reader-Instance während eines Failover-Vorgangs zum Writer hochgestuft werden soll. Bei Neptune Serverless Reader-Instances bestimmt die Tier-Nummer auch, ob die Instance skaliert wird, um der Kapazität der Writer-Instance zu entsprechen, oder ob sie unabhängig von ihr nur auf der Grundlage ihrer eigenen Workload skaliert wird.

Neptune Serverless Reader-Instances in Tier 0 oder 1 verfügen über eine Mindestkapazität, die mindestens so hoch ist wie die Writer-Instance, sodass sie im Falle eines Failovers bereit sind, den Writer zu übernehmen. Wenn der Writer eine bereitgestellte Instance ist, schätzt Neptune die entsprechende Serverless-Kapazität und verwendet diese Schätzung als Mindestkapazität für die Serverless-Reader-Instance.

Neptune Serverless-Reader-Instances der Stufen 2–15 haben nicht die gleiche Einschränkung ihrer minimalen Kapazität und werden unabhängig vom Writer skaliert. Wenn sie inaktiv sind, werden sie auf den NCU Mindestwert herunterskaliert, der im Kapazitätsbereich des Clusters angegeben ist. Dies kann jedoch zu Problemen führen, wenn der Lese-Workload schnell ansteigt.

Halten Sie die Lesekapazität an die Schreibkapazität im Einklang

Eine wichtige Sache, die Sie beachten sollten, ist, dass Sie sicherstellen möchten, dass Ihre Reader-Instances mit Ihrer Writer-Instance Schritt halten können, um übermäßige Verzögerungen bei der Replikation zu vermeiden. Dies ist insbesondere in zwei Situationen ein Problem, in denen Serverless-Reader-Instances nicht automatisch synchron mit der Writer-Instance skaliert werden:

  • Wenn Ihr Writer bereitgestellt ist und Ihre Reader Serverless sind.

  • Wenn Ihr Writer Serverless ist und Ihre Serverless-Reader den Aktionsstufen 2–15 zugeordnet sind.

Stellen Sie in beiden Fällen die Serverless-Mindestkapazität so ein, dass sie der erwarteten Schreibkapazität entspricht, um sicherzustellen, dass es bei Lesegeräten nicht zu Timeouts kommt, die möglicherweise zu Neustarts führen. Stellen Sie im Fall einer bereitgestellten Writer-Instance die Mindestkapazität so ein, dass sie der bereitgestellten Instance entspricht. Bei einem Serverless-Writer ist die optimale Einstellung möglicherweise schwieriger vorherzusagen.

Da der Instance-Kapazitätsbereich auf Clusterebene festgelegt wird, werden alle Serverless-Instances durch dieselben Mindest- und Höchstkapazitätseinstellungen gesteuert. Reader-Instances der Stufen 0 und 1 werden synchron mit der Writer-Instance skaliert, aber Instances in den Promotion-Stufen 2-15 skalieren unabhängig voneinander und von der Writer-Instance, abhängig von ihrem Workload. Wenn Sie die Mindestkapazität zu niedrig festlegen, können inaktive Instances der Stufen 2 bis 15 zu niedrig herunterskaliert werden, um schnell genug wieder hochskaliert zu werden, um einen plötzlichen Anstieg der Schreibaktivität zu bewältigen.

Vermeiden Sie es, den Timeout-Wert zu hoch festzulegen

Es können unerwartete Kosten entstehen, wenn Sie den Wert für den Abfrage-Timeout bei Serverless-Instances zu hoch festlegen.

Ohne eine angemessene Timeout-Einstellung können Sie versehentlich eine Abfrage ausgeben, die einen leistungsstarken, teuren Instance-Typ erfordert und die sehr lange läuft, wodurch Kosten entstehen, mit denen Sie nie gerechnet haben. Sie können diese Situation vermeiden, indem Sie einen Timeout-Wert für Abfragen verwenden, der die meisten Ihrer Abfragen abdeckt und nur unerwartet lange laufende Abfragen in den Timeout versetzt.

Dies gilt sowohl für allgemeine Timeoutwerte für Abfragen, die mithilfe von Parametern festgelegt wurden, als auch für Timeoutwerte pro Abfrage, die mithilfe von Abfragehinweisen festgelegt wurden.

Optimieren Sie Ihre Neptune Serverless-Konfiguration

Wenn Ihr Neptune Serverless DB-Cluster nicht auf die Workload abgestimmt ist, die er ausführt, stellen Sie möglicherweise fest, dass er nicht optimal läuft. Sie können die Einstellung für die minimale und/oder maximale Kapazität so anpassen, dass sie skaliert werden kann, ohne dass Speicherprobleme auftreten.

  • Erhöhen Sie die Einstellung für die Mindestkapazität des Clusters. Dadurch kann die Situation korrigiert werden, dass eine Instance im Leerlauf auf eine Kapazität zurückskaliert wird, die weniger Speicher hat, als Ihre Anwendung und die aktivierten Funktionen benötigen.

  • Erhöhen Sie die Einstellung für die maximale Kapazität des Clusters. Auf diese Weise kann die Situation korrigiert werden, in der eine ausgelastete Datenbank nicht auf eine Kapazität mit genügend Speicher für die Workload und alle aktivierten speicherintensiven Funktionen hochskaliert werden kann.

  • Ändern Sie die Workload der betreffenden Instance. Beispielsweise können Sie dem Cluster Reader-DB-Instances hinzufügen, um die Last von schreibgeschützten Abfragen auf weitere DB-Instances zu verteilen.

  • Passen Sie die Abfragen Ihrer Anwendung so an, dass sie weniger Ressourcen verbrauchen.

  • Versuchen Sie, eine bereitgestellte Instanz zu verwenden, die größer als das in Neptune Serverless NCUs verfügbare Maximum ist, um festzustellen, ob sie besser für den Arbeitsspeicher und die CPU Anforderungen des Workloads geeignet ist.