4. Überschreitung des maximalen On-Demand-Durchsatzes - Amazon DynamoDB

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.

4. Überschreitung des maximalen On-Demand-Durchsatzes

Wenn Sie eine On-Demand-Tabelle oder einen On-Demand-GSI konfigurieren, können Sie optional ein maximales Durchsatzlimit (MaxReadRequestUnits und MaxWriteRequestUnits) auf Tabellen- oder Indexebene festlegen. So lassen sich unkontrollierte Kosten vermeiden oder nachgelagerte Systeme vor Überlastung schützen. Weitere Informationen zu maximalen Durchsätzen finden Sie unter Maximaler DynamoDB-Durchsatz für On-Demand-Tabellen.

Wenn Ihr Lese- oder Schreibverbrauch diese selbst festgelegten Grenzwerte überschreitet, erhalten weitere Anfragen gedrosselte Schnellantworten. DynamoDB gibt Ausnahmen mit einem Drosselungsgrund der Art MaxOnDemandThroughputExceeded zurück, der angibt, welche Ressource ihre Durchsatzgrenze erreicht hat.

Drosselung wegen Überschreitens des maximalen On-Demand-Durchsatzes

Dieser Abschnitt enthält Anleitungen zur Lösung von Drosselungsszenarien, in denen der maximale On-Demand-Durchsatz überschritten wurde. Bevor Sie diese Anleitung verwenden, sollten Sie die spezifischen Drosselungsgründe anhand der Ausnahmebehandlung Ihrer Anwendung identifizieren und den Amazon-Ressourcennamen (ARN) der betroffenen Ressource ermitteln. Informationen dazu, wie Sie die Gründe für die Drosselung abrufen und gedrosselte Ressourcen identifizieren, finden Sie unter Diagnose-Framework für DynamoDB-Drosselungen.

Bevor Sie sich mit bestimmten Drosselungsszenarien befassen, sollten Sie zunächst überlegen, ob tatsächlich Maßnahmen erforderlich sind:

  • Einstellungen für den maximalen Durchsatz prüfen: Diese Limits wurden bewusst konfiguriert, um Kosten zu kontrollieren oder nachgelagerte Systeme zu schützen. Wenn Sie MaxOnDemandThroughputExceeded-Drosselungsereignisse erhalten, funktionieren Ihre Limits wie vorgesehen. Überlegen Sie, ob eine Erhöhung dieser Limits Ihren ursprünglichen Zielen in Bezug auf Kostenkontrolle oder Systemschutz entspricht.

  • Auswirkungen auf die Anwendung bewerten: Ermitteln Sie, ob die Drosselung tatsächlich Probleme für Ihre Anwendungen oder Nutzer verursacht. Wenn Ihre Anwendungen Wiederholungsversuche effektiv verarbeiten und ihre Leistungsanforderungen trotz gelegentlicher Drosselung erfüllen, ist die Beibehaltung der aktuellen Limits möglicherweise die richtige Wahl.

  • Datenverkehrsmuster überprüfen: Analysieren Sie, ob es sich bei der Drosselung um ein erwartetes Verkehrsmuster oder um einen ungewöhnlichen Anstieg handelt. Bei vorhersehbaren, wiederkehrenden Datenverkehrsmustern, die Ihre Limits ständig überschreiten, kann eine Anpassung der Einstellungen für den maximalen Durchsatz gerechtfertigt sein. Bei vorübergehenden Spitzenwerten sind bessere Strategien zur Verteilung von Anfragen möglicherweise besser geeignet als die Erhöhung der Limits.

Wenn Sie nach eingehender Prüfung der Ansicht sind, dass Ihre Einstellungen für den maximalen Durchsatz angepasst werden müssen, finden Sie in den unten aufgeführten spezifischen Drosselungsszenarien gezielte Abhilfemaßnahmen:

TableReadMaxOnDemandThroughputExceeded

Wenn dies auftritt

Ihre On-Demand-Tabelle hat die konfigurierte maximale Lesedurchsatzkapazität überschritten. Sie können die CloudWatch Messwerte überwachenAllgemeine Diagnose und Überwachung, um Ihr Drosselungsereignis zu analysieren.

Mögliche Abhilfemaßnahmen

Erwägen Sie die folgenden Schritte, um die Drosselungsereignisse zu beheben:

  • Maximales Durchsatzlimit erhöhen: Verwenden Sie die DynamoDB-Konsole, AWS CLI oder die DynamoDB UpdateTable-API, um den Wert MaxReadRequestUnits für die betroffene Tabelle zu erhöhen. Überwachen Sie ihn anschließend und passen Sie ihn an. Dadurch kann die Tabelle einen höheren Lesedurchsatz bewältigen, bevor es zu einer Drosselung kommt.

  • Das maximale Limit entfernen: Stellen Sie MaxReadRequestUnits auf -1 ein, um die Obergrenze aufzuheben und eine bedarfsgerechte Skalierung bis zu Ihren Durchsatzkontingenten auf Kontoebene zu ermöglichen. Dadurch wird Ihr benutzerdefiniertes Limit entfernt, die Sicherheitsvorkehrungen auf Kontoebene von AWS bleiben aber erhalten. Nach der Aufhebung des Limits sollten Sie jedoch die Kosten genau im Blick behalten, da Ihre Tabelle jetzt deutlich mehr Kapazität verbrauchen kann, bevor die Kontingente auf Kontoebene erreicht werden.

TableWriteMaxOnDemandThroughputExceeded

Wenn dies auftritt

Ihre On-Demand-Tabelle hat die konfigurierte maximale Schreibdurchsatzkapazität überschritten. Sie können die CloudWatch Messwerte überwachen, um Ihr Allgemeine Diagnose und Überwachung Drosselungsereignis zu analysieren.

Mögliche Abhilfemaßnahmen

Erwägen Sie die folgenden Schritte, um die Drosselungsereignisse zu beheben:

  • Maximales Durchsatzlimit erhöhen: Verwenden Sie die DynamoDB-Konsole, AWS CLI oder die DynamoDB UpdateTable-API, um den Wert MaxWriteRequestUnits für die betroffene Tabelle zu erhöhen. Überwachen Sie ihn anschließend und passen Sie ihn an.

  • Das maximale Limit entfernen: Stellen Sie MaxWriteRequestUnits auf -1 ein, um die Obergrenze aufzuheben und eine bedarfsgerechte Skalierung bis zu Ihren Durchsatzkontingenten auf Kontoebene zu ermöglichen. Dadurch wird Ihr benutzerdefiniertes Limit entfernt, die Sicherheitsvorkehrungen auf Kontoebene von AWS bleiben aber erhalten. Nach der Aufhebung des Limits sollten Sie jedoch die Kosten genau im Blick behalten, da Ihre Tabelle jetzt deutlich mehr Kapazität verbrauchen kann, bevor die Kontingente auf Kontoebene erreicht werden.

IndexReadMaxOnDemandThroughputExceeded

Wenn dies auftritt

Leseanfragen an einen GSI im On-Demand-Modus haben die konfigurierte maximale Lesedurchsatzkapazität des GSI überschritten. Sie können die CloudWatch Messwerte überwachen, um Ihr Allgemeine Diagnose und Überwachung Drosselungsereignis zu analysieren.

Mögliche Abhilfemaßnahmen

Erwägen Sie die folgenden Schritte, um die Drosselungsereignisse zu beheben:

  • Maximales GSI-Durchsatzlimit erhöhen: Verwenden Sie die DynamoDB-Konsole, AWS CLI oder die DynamoDB UpdateTable-API, um den Wert MaxReadRequestUnits für den betroffenen GSI zu erhöhen. Überwachen Sie ihn anschließend und passen Sie ihn an.

  • Das maximale GSI-Limit entfernen: Stellen Sie MaxReadRequestUnits auf -1 ein, um die Obergrenze aufzuheben und eine bedarfsgerechte Skalierung bis zu Ihren Durchsatzkontingenten auf Kontoebene zu ermöglichen. Dadurch wird Ihr benutzerdefiniertes Limit aufgehoben, die Sicherheitsvorkehrungen auf Kontoebene AWS bleiben jedoch erhalten. Nach der Aufhebung des Limits sollten Sie jedoch die Kosten genau im Blick behalten.

IndexWriteMaxOnDemandThroughputExceeded

Wenn dies auftritt

Aktualisierungen von Elementen in der Basistabelle lösen im On-Demand-Modus Schreibvorgänge in einen GSI aus, die dessen konfigurierte maximale Schreibdurchsatzkapazität überschreiten. Dies führt zu einer Gegendruckdrosselung. Sie können die CloudWatch Messwerte überwachen, um Ihr Allgemeine Diagnose und Überwachung Drosselungsereignis zu analysieren.

Mögliche Abhilfemaßnahmen

Erwägen Sie die folgenden Schritte, um die Drosselungsereignisse zu beheben:

  • Maximales GSI-Durchsatzlimit erhöhen: Verwenden Sie die DynamoDB-Konsole, AWS CLI oder die DynamoDB UpdateTable-API, um den Wert MaxWriteRequestUnits für den betroffenen GSI zu erhöhen. Überwachen Sie ihn anschließend und passen Sie ihn an.

  • Das maximale GSI-Limit entfernen: Stellen Sie MaxWriteRequestUnits auf -1 ein, um die Obergrenze aufzuheben und eine bedarfsgerechte Skalierung bis zu Ihren Durchsatzkontingenten auf Kontoebene zu ermöglichen. Dadurch wird Ihr benutzerdefiniertes Limit aufgehoben, die Sicherheitsvorkehrungen auf Kontoebene AWS bleiben jedoch erhalten. Nach der Aufhebung des Limits sollten Sie jedoch die Kosten genau im Blick behalten.

Allgemeine Diagnose und Überwachung

Bei der On-Demand-Fehlerbehebung, bei der der maximale Durchsatz Drosselungsereignisse überschritten hat, können verschiedene CloudWatch Metriken dabei helfen, die Ursache und Skalierungsmuster zu identifizieren.

Wesentliche Metriken CloudWatch

Überwachen Sie diese wichtigen Kennzahlen, um die Ursachen für die Drosselung wegen des Überschreitens des maximalen On-Demand-Durchsatzes zu finden:

Analyseansatz

Gehen Sie wie folgt vor, um die Diagnose „Maximaler On-Demand-Durchsatz überschritten“ zu bestätigen:

  1. Vergleichen Sie die verbrauchte Kapazität mit den maximalen Kapazitätslimits. Prüfen Sie, ob sich der Verbrauch kontinuierlich den Höchstgrenzen nähert oder diese überschreitet.

  2. Überprüfen Sie die Häufigkeit und den Zeitpunkt von Drosselungsereignissen, um Muster zu identifizieren. Achten Sie auf plötzliche Steigerungen der verbrauchten Kapazität, die mit dem Drosselungsereignis zusammenfallen.

  3. Verwenden Sie CloudWatch Contributor Insights, um zu ermitteln, welche Elemente oder Partitionsschlüssel die meiste Kapazität verbrauchen.