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.
Serverlose Skalierungskonfiguration von Amazon DocumentDB
Themen
Auswahl des Skalierungskapazitätsbereichs für einen serverlosen DocumentDB-Cluster
Bevor Sie serverlose DocumentDB-Instances zu einem Amazon DocumentDB-Cluster hinzufügen, muss für den Cluster auch der ServerlessV2ScalingConfiguration
Parameter festgelegt sein.
Der ServerlessV2ScalingConfiguration
Parameter besteht aus zwei Werten, die den Kapazitätsbereich für die serverlose Skalierung jeder serverlosen Instance im Cluster definieren:
MinCapacity
— Die minimale Skalierungskapazität aller serverlosen DocumentDB-Instanzen im Cluster.MaxCapacity
— Die maximale Skalierungskapazität aller serverlosen DocumentDB-Instanzen im Cluster.
MinCapacity
Einstellung für einen serverlosen DocumentDB-Cluster auswählen
Es ist verlockend, immer 0,5 für zu wählen. MinCapacity
Dieser Wert ermöglicht es der Instance, auf die kleinste Kapazität herunterzuskalieren, wenn sie vollständig inaktiv ist, und gleichzeitig aktiv bleibt. Je nachdem, wie Sie diesen Cluster verwenden und welche anderen Einstellungen Sie konfigurieren, kann eine andere Mindestkapazität jedoch am effektivsten sein. Berücksichtigen Sie bei der Auswahl der Mindestkapazitätseinstellung die folgenden Faktoren:
Die Skalierungsrate für eine serverlose DocumentDB-Instanz hängt von ihrer aktuellen Kapazität ab. Je höher die aktuelle Kapazität, desto schneller kann sie hochskalieren. Wenn Sie möchten, dass die Instance schnell auf eine sehr hohe Kapazität hochskaliert wird, sollten Sie die Mindestkapazität auf einen Wert festlegen, bei dem die Skalierungsrate Ihren Anforderungen entspricht.
Wenn Sie die Instanzklasse Ihrer Instances in der Regel in Erwartung einer besonders hohen oder niedrigen Arbeitslast ändern, können Sie diese Erfahrung nutzen, um eine grobe Schätzung des entsprechenden serverlosen Kapazitätsbereichs von DocumentDB vorzunehmen. Informationen zur Bestimmung der Speichergröße eines bereitgestellten Amazon DocumentDB DocumentDB-Instance-Typs finden Sie unter. Instance-Limits
Nehmen wir zum Beispiel an, dass Sie die
db.r6g.xlarge
Instance-Klasse verwenden, wenn Ihr Cluster eine geringe Arbeitslast hat. Diese Instanzklasse hat 32 GiB Speicher. Sie können also einen WertMinCapacity
von 16 angeben, um eine serverlose Instanz einzurichten, die auf ungefähr dieselbe Kapazität herunterskaliert werden kann. Das liegt daran, dass jede DCU ungefähr 2 GiB Speicher entspricht. Sie können einen etwas niedrigeren Wert angeben, um die Instance weiter herunterskalieren zu lassen, falls Ihredb.r6g.xlarge
Instance manchmal nicht ausgelastet war.Wenn Ihre Anwendung am effizientesten arbeitet, wenn die Instances über eine bestimmte Datenmenge im Puffercache verfügen, sollten Sie eine DCU-Mindesteinstellung angeben, bei der der Speicher groß genug ist, um die häufig aufgerufenen Daten aufzunehmen. Andernfalls werden einige Daten aus dem Puffercache entfernt, wenn die serverlosen Instanzen auf eine geringere Speichergröße herunterskaliert werden. Wenn die Instanzen dann wieder hochskaliert werden, werden die Informationen im Laufe der Zeit wieder in den Puffer-Cache eingelesen. Wenn die Menge, mit der I/O die Daten wieder in den Puffer-Cache zurückgebracht werden sollen, beträchtlich ist, ist es möglicherweise effektiver, einen höheren DCU-Mindestwert zu wählen. Weitere Informationen finden Sie unter Dimensionierung der Instanzen.
Wenn Ihre serverlosen DocumentDB-Instanzen die meiste Zeit mit einer bestimmten Kapazität ausgeführt werden, sollten Sie erwägen, eine Mindestkapazitätseinstellung anzugeben, die niedriger als diese Grundeinstellung, aber nicht zu viel niedriger ist. Serverlose Instances können am effektivsten abschätzen, wie viel und wie schnell eine Skalierung erforderlich ist, wenn die aktuelle Kapazität nicht drastisch unter der erforderlichen Kapazität liegt.
Wenn Ihr bereitgestellter Workload Speicheranforderungen hat, die für kleine Instance-Klassen wie T3 oder T4g zu hoch sind, wählen Sie eine DCU-Mindesteinstellung, die Speicherplatz bietet, der mit einer R5- oder R6g-Instance vergleichbar ist.
Insbesondere empfehlen wir die folgenden Mindestanforderungen
MinCapacity
für die Verwendung mit den angegebenen Funktionen (diese Empfehlungen können sich ändern):Performance Insights — 2 DCUs
In Amazon DocumentDB erfolgt die Replikation auf der Speicherebene, sodass sich die Lesekapazität nicht direkt auf die Replikation auswirkt. Stellen Sie bei serverlosen DocumentDB-Reader-Instances, die unabhängig skaliert werden, jedoch sicher, dass die Mindestkapazität ausreicht, um Workloads in schreibintensiven Zeiten zu bewältigen, um Abfragelatenz zu vermeiden. Wenn bei Reader-Instances der Promotion-Stufen 2—15 Leistungsprobleme auftreten, sollten Sie eine Erhöhung der Mindestkapazität des Clusters in Betracht ziehen. Einzelheiten dazu, wie Sie ändern können, ob Reader-Instances zusammen mit dem Autor oder unabhängig voneinander skaliert werden, finden Sie unterDie Promotion-Stufe für serverlose Lesegeräte anzeigen und ändern.
Wenn Sie einen Cluster mit serverlosen DocumentDB-Reader-Instances haben, skalieren die Reader nicht zusammen mit der Writer-Instanz, wenn die Promotion-Stufe der Reader nicht 0 oder 1 ist. In diesem Fall kann das Festlegen einer geringen Mindestkapazität zu einer übermäßigen Replikationsverzögerung führen. Das liegt daran, dass die Reader möglicherweise nicht genug Kapazität haben, um Änderungen vom Writer zu übernehmen, wenn die Datenbank ausgelastet ist. Es wird empfohlen, die Mindestkapazität auf einen Wert festzulegen, der einer mit der Writer-Instanz vergleichbaren Speicher- und CPU-Menge entspricht.
Die Zeit, die eine serverlose DocumentDB-Instanz benötigt, um von ihrer minimalen Kapazität zur maximalen Kapazität zu skalieren, hängt von der Differenz zwischen ihren minimalen und maximalen DCU-Werten ab. Wenn die aktuelle Kapazität der Instanz groß ist, wird DocumentDB serverless in größeren Schritten skaliert, als wenn die Instanz mit einer kleinen Kapazität gestartet wird. Wenn Sie also eine relativ große maximale Kapazität angeben und die Instance die meiste Zeit in der Nähe dieser Kapazität verbringt, sollten Sie erwägen, die minimale DCU-Einstellung zu erhöhen. Auf diese Weise kann eine Instance im Leerlauf schneller wieder auf die maximale Kapazität hochskaliert werden.
Bestimmte Instance-Limits werden durch die aktuelle Kapazität der serverlosen Instance bestimmt, z. B. Verbindungslimit, Cursorlimit und Limit für offene Transaktionen. Wenn die aktuelle Kapazität der Instance gering ist, sind auch die Grenzwerte entsprechend gering. Wenn diese Grenzwerte ein Problem darstellen, wenn Ihre serverlose Instance auf ihren
MinCapacity
Wert herunterskaliert wird, sollten Sie eine ErhöhungMinCapacity
auf einen höheren Wert in Betracht ziehen. Weitere Informationen finden Sie unter Beschränkungen für serverlose Amazon DocumentDB DocumentDB-Instances.Darüber hinaus gelten für bestimmte Instance-Limits ein niedrigerer Maximalwert, wenn dieser auf weniger als oder gleich 1,0 festgelegt
MinCapacity
ist DCUs, wie z. B. das Limit für aktive Verbindungen, das Cursorlimit und das Limit für offene Transaktionen. Wenn diese Obergrenzen für Ihre Arbeitslast nicht ausreichen, verwenden Sie bitte einenMinCapacity
Wert von mindestens 1,5. DCUs Weitere Informationen finden Sie unter Beschränkungen für serverlose Amazon DocumentDB DocumentDB-Instances.
Anweisungen zum Ändern der Skalierungskonfiguration eines Clusters finden Sie unterServerlose Verwaltung von Amazon DocumentDB.
MaxCapacity
Einstellung für einen serverlosen DocumentDB-Cluster auswählen
Es ist verlockend, immer einen hohen Wert für die maximale serverlose Kapazität von DocumentDB zu wählen. Eine große maximale Kapazität ermöglicht es der Instanz, am stärksten zu skalieren, wenn sie eine intensive Arbeitslast ausführt. Mit einem niedrigen Wert entfällt die Möglichkeit unerwarteter Gebühren. Je nachdem, wie Sie diesen Cluster verwenden und die anderen Einstellungen konfigurieren, kann der effektivste Wert höher oder niedriger sein, als Sie ursprünglich dachten. Berücksichtigen Sie bei der Auswahl der maximalen Kapazitätseinstellung die folgenden Faktoren:
Die maximale Kapazität muss mindestens so hoch sein wie die Mindestkapazität. Sie können die minimale und maximale Kapazität auf den gleichen Wert festlegen. In diesem Fall skaliert sich die Kapazität jedoch niemals hoch oder herunter. Daher ist die Verwendung identischer Werte für die minimale und maximale Kapazität außerhalb von Testsituationen nicht geeignet.
Die maximale Kapazität muss mindestens 1,0 DCUs und darf höchstens 256 betragen DCUs.
Wir empfehlen, die Skalierung und die Ressourcennutzung Ihrer serverlosen Instances zu überwachen. Wenn Ihre serverlose Instance häufig auf maximale Kapazität skaliert und dabei auf Ressourcenbeschränkungen stößt (z. B. wenn die
DCUUtilization
Metrik bei 100,0 liegt), empfehlen wir, einen höheren Wert auszuwählen.MaxCapacity
Weitere Informationen finden Sie unter Serverlose Überwachung von Amazon DocumentDB.Wenn Sie in der Regel die Instanzklasse Ihrer bereitgestellten Instanzen in Erwartung einer besonders hohen oder niedrigen Arbeitslast ändern, können Sie diese Erfahrung nutzen, um den entsprechenden serverlosen Kapazitätsbereich von DocumentDB abzuschätzen. Informationen zur Bestimmung der Speichergröße der bereitgestellten Amazon DocumentDB DocumentDB-Instances finden Sie unter. Instance-Limits
Nehmen wir beispielsweise an, Sie verwenden die
db.r6g.4xlarge
Instance-Klasse, wenn Ihr Cluster eine hohe Arbeitslast hat. Diese Instanzklasse hat 128 GiB Arbeitsspeicher. Daher können Sie eine maximale DCU-Einstellung von 64 angeben, um eine serverlose Instanz einzurichten, die auf ungefähr dieselbe Kapazität skaliert werden kann. Das liegt daran, dass jede DCU ungefähr 2 GiB Speicher entspricht. Sie können einen etwas höheren Wert angeben, damit die Instance weiter skaliert werden kann, falls Ihredb.r6g.4xlarge
Instance manchmal nicht über genügend Kapazität verfügt, um die Arbeitslast effektiv zu bewältigen.Wenn Sie eine Budgetobergrenze für Ihre Datenbanknutzung haben, wählen Sie einen Wert, der innerhalb dieser Obergrenze bleibt, auch wenn all Ihre serverlosen Instances ständig mit maximaler Kapazität laufen. Denken Sie daran, dass, wenn Sie n serverlose Instances in Ihrem Cluster haben, die theoretische maximale serverlose Kapazität, die der Cluster zu einem beliebigen Zeitpunkt verbrauchen kann, das n-fache der maximalen DCU-Einstellung für den Cluster beträgt. (Der tatsächlich verbrauchte Betrag ist möglicherweise geringer, wenn beispielsweise einige Reader unabhängig vom Writer skalieren.)
Wenn Sie serverlose Reader-Instances verwenden, um einen Teil der schreibgeschützten Arbeitslast von der Writer-Instanz auszulagern, können Sie möglicherweise eine niedrigere Einstellung für die maximale Kapazität wählen. Sie tun dies, um zu berücksichtigen, dass nicht jede Reader-Instanz so hoch skaliert werden muss, als ob der Cluster nur eine einzige Instanz enthält.
Angenommen, Sie möchten sich vor übermäßiger Auslastung aufgrund falsch konfigurierter Datenbankparameter oder ineffizienter Abfragen in Ihrer Anwendung schützen. In diesem Fall können Sie eine versehentliche Überbeanspruchung vermeiden, indem Sie eine maximale Kapazitätseinstellung wählen, die niedriger ist als die absolut höchste, die Sie festlegen können.
Wenn Spitzen aufgrund realer Benutzeraktivitäten zwar selten sind, aber dennoch auftreten, können Sie diese Situationen bei der Auswahl der maximalen Kapazitätseinstellung berücksichtigen. Wenn die Priorität darin besteht, dass die Anwendung weiterhin mit voller Leistung und Skalierbarkeit ausgeführt wird, können Sie eine maximale Kapazitätseinstellung angeben, die höher ist, als Sie bei normaler Auslastung beobachten. Wenn es akzeptabel ist, dass die Anwendung bei sehr extremen Aktivitätsspitzen mit reduziertem Durchsatz ausgeführt wird, können Sie eine etwas niedrigere maximale Kapazitätseinstellung wählen. Stellen Sie sicher, dass Sie eine Einstellung auswählen, die immer noch über genügend Speicher- und CPU-Ressourcen verfügt, damit die Anwendung weiterhin ausgeführt wird.
Wenn Sie Einstellungen in Ihrem Cluster aktivieren, die die Speichernutzung für jede Instanz erhöhen, berücksichtigen Sie diesen Speicher, wenn Sie den maximalen DCU-Wert festlegen. Zu diesen Einstellungen gehören die für Performance Insights. Stellen Sie sicher, dass der maximale DCU-Wert es den serverlosen Instances ermöglicht, so weit zu skalieren, dass sie die Arbeitslast bewältigen können, wenn diese Funktionen verwendet werden. Informationen zur Behebung von Problemen, die durch die Kombination einer niedrigen maximalen DCU-Einstellung und Amazon DocumentDB DocumentDB-Funktionen verursacht werden, die einen Speicheraufwand verursachen, finden Sie unter Vermeiden von out-of-memory Fehlern (unten).
Insbesondere empfehlen wir die folgenden Mindestanforderungen
MaxCapacity
für die Verwendung mit den angegebenen Funktionen (diese Empfehlungen können sich ändern):Serverlose Instanzerstellung auf einem Cluster mit einem großen Datenvolumen — 2 DCUs (dazu gehört auch die serverlose Instanzerstellung im Rahmen einer Cluster-Wiederherstellung.)
Bestimmte Instanzlimits werden durch die aktuelle Kapazität der Instanz bestimmt, z. B. das Verbindungslimit, das Cursorlimit und das Limit für offene Transaktionen. Achten Sie bei der Auswahl des
MaxCapacity
Werts für Ihren Workload darauf, diese Instance-Limits zu berücksichtigen, um zu vermeiden, dass Sie durch eines dieser Limits einen Engpass bekommen. Weitere Informationen finden Sie unter Beschränkungen für serverlose Amazon DocumentDB DocumentDB-Instances.
Anweisungen zum Ändern der Skalierungskonfiguration eines Clusters finden Sie unter. Serverlose Verwaltung von Amazon DocumentDB
Vermeiden von out-of-memory Fehlern
Wenn eine Ihrer serverlosen DocumentDB-Instances ständig die Grenze ihrer maximalen Kapazität erreicht, weist Amazon DocumentDB auf diesen Zustand hin, indem die Instance auf den Status inkompatibler Parameter gesetzt wird. Die Instance hat zwar den Status inkompatibler Parameter, aber einige Operationen sind blockiert. Beispielsweise können Sie die Engine-Version nicht aktualisieren. Weitere Informationen zum Status einer Amazon DocumentDB DocumentDB-Instance finden Sie unter Überwachen des Status einer Amazon DocumentDB DocumentDB-Instance.
In der Regel nimmt Ihre Instance diesen Status an, wenn sie aufgrund von Fehlern häufig neu gestartet wird. out-of-memory Amazon DocumentDB zeichnet ein Ereignis auf, wenn diese Art von Neustart stattfindet. Informationen zum Anzeigen von Ressourcenereignissen finden Sie unterAmazon DocumentDB DocumentDB-Ereignisse anzeigen. Ein ungewöhnlich hoher Speicherverbrauch kann aufgrund des Mehraufwands beim Aktivieren von Einstellungen wie Performance Insights auftreten. Dies kann auch auf eine hohe Arbeitslast auf Ihrer Instanz oder auf die Verwaltung der Metadaten zurückzuführen sein, die mit einer großen Anzahl von Schemaobjekten verknüpft sind.
Wenn der Speicherdruck geringer wird, sodass die Instance ihre maximale Kapazität nicht sehr oft erreicht, ändert Amazon DocumentDB den Instance-Status automatisch wieder auf verfügbar.
Zur Wiederherstellung nach diesem Zustand können Sie einige oder alle der folgenden Aktionen ausführen:
Erhöhen Sie die untere Kapazitätsgrenze für serverlose Instances, indem Sie den Mindestwert der DocumentDB-Kapazitätseinheit (DCU) für den Cluster ändern. Dadurch werden Probleme vermieden, bei denen eine inaktive Datenbank auf eine Kapazität mit weniger Speicher herunterskaliert wird, als für die in Ihrem Cluster aktivierten Funktionen benötigt wird. Nachdem Sie die DCU-Einstellungen für den Cluster geändert haben, starten Sie die serverlose Instanz neu. Dadurch wird geprüft, ob Amazon DocumentDB den Status wieder auf verfügbar zurücksetzen kann.
Erhöhen Sie die Kapazitätsobergrenze für serverlose Instances, indem Sie den maximalen DCU-Wert für den Cluster ändern. Auf diese Weise werden Probleme vermieden, bei denen eine ausgelastete Datenbank nicht auf eine Kapazität mit genügend Speicher für die in Ihrem Cluster aktivierten Funktionen und die Datenbank-Workload hochskaliert werden kann. Nachdem Sie die DCU-Einstellungen für den Cluster geändert haben, starten Sie die serverlose Instanz neu. Dadurch wird geprüft, ob Amazon DocumentDB den Status wieder auf verfügbar zurücksetzen kann.
Deaktivieren Sie Konfigurationseinstellungen, die Speicher-Overhead erfordern. Nehmen wir zum Beispiel an, Sie haben eine Funktion wie Performance Insights aktiviert, verwenden sie aber nicht. Wenn ja, können Sie sie ausschalten. Oder Sie können die Mindest- und Höchstkapazitätswerte für den Cluster höher anpassen, um dem von diesen Funktionstypen verwendeten Speicher Rechnung zu tragen. Richtlinien zur Auswahl der minimalen und maximalen Kapazitätseinstellungen finden Sie unter Auswahl des Skalierungskapazitätsbereichs für einen serverlosen DocumentDB-Cluster.
Reduzieren Sie die Arbeitslast auf der Instanz. Sie können dem Cluster beispielsweise Reader-Instances hinzufügen, um die Last aus schreibgeschützten Abfragen auf mehrere Instanzen zu verteilen.
Warum wird meine serverlose Instance nicht herunterskaliert?
In einigen Fällen lässt sich DocumentDB serverless nicht auf die Mindestkapazität herunterskalieren, selbst wenn die Datenbank nicht belastet wird. Dies kann aus einem der folgenden Gründe geschehen:
Performance Insights kann die Ressourcennutzung erhöhen und verhindern, dass die Datenbank auf die Mindestkapazität herunterskaliert wird. Nachstehend sind einige dieser Features aufgeführt:
Wenn eine Reader-Instance nicht auf das Minimum herunterskaliert wird und dieselbe oder eine höhere Kapazität als die Writer-Instance hat, überprüfen Sie die Prioritätsstufe der Reader-Instance. Serverlose DocumentDB-Reader-Instanzen der Stufe 0 oder 1 verfügen über eine Mindestkapazität, die mindestens so hoch ist wie die der Writer-Instanz. Ändern Sie die Prioritätsstufe der Reader-Instance in 2 oder höher, sodass sie unabhängig von der Writer-Instance hoch- und herunterskaliert wird. Weitere Informationen finden Sie unter Serverlose Skalierung von Amazon DocumentDB.
Hohe Datenbank-Workloads können die Ressourcennutzung erhöhen.
Große Datenbank-Volumes können die Ressourcennutzung erhöhen. Amazon DocumentDB verwendet Speicher- und CPU-Ressourcen für die Clusterverwaltung. Amazon DocumentDB benötigt mehr CPU und Arbeitsspeicher, um Cluster mit größeren Datenbankvolumen zu verwalten. Wenn die Mindestkapazität Ihres Clusters unter der für die Clusterverwaltung erforderlichen Mindestkapazität liegt, skaliert Ihr Cluster nicht auf die Mindestkapazität herunter.
Wartungsaktivitäten im Hintergrund können die Ressourcennutzung regelmäßig erhöhen.
Wenn die Datenbank immer noch nicht auf die konfigurierte Mindestkapazität herunterskaliert wird, beenden Sie die Datenbank und starten Sie sie neu, um alle Speicherfragmente zurückzugewinnen, die sich im Laufe der Zeit angesammelt haben könnten. Das Stoppen und Starten einer Datenbank führt zu Ausfallzeiten, daher empfehlen wir, achtsam vorzugehen.