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- Maximaler On-Demand-Durchsatz überschritten
Wenn Sie eine On-Demand-Tabelle oder GSI konfigurieren, können Sie optional ein maximales Durchsatzlimit (MaxReadRequestUnitsund MaxWriteRequestUnits) auf Tabellen- oder Indexebene festlegen, um unkontrollierte Kosten zu vermeiden oder nachgelagerte Systeme vor Überlastung zu schützen. Weitere Informationen zum maximalen Durchsatz finden Sie unter. Maximaler DynamoDB-Durchsatz für On-Demand-Tabellen
Wenn Ihr Lese- oder Schreibverbrauch diese selbst festgelegten Grenzwerte überschreitet, werden zusätzliche Anfragen, die den Grenzwert überschreiten würden, schnell gedrosselt. DynamoDB gibt Ausnahmen mit einem MaxOnDemandThroughputExceeded Drosselungsgrund zurück, der angibt, welche Ressource ihre Durchsatzgrenze erreicht hat.
Der maximale Durchsatz auf Anforderung hat die Drosselung überschritten
Dieser Abschnitt enthält Anleitungen zur Lösung von Situationen, in denen der maximale Durchsatz auf Anforderung überschritten wird. Bevor Sie dieses Handbuch verwenden, stellen Sie sicher, dass Sie die spezifischen Drosselungsgründe anhand der Ausnahmebehandlung Ihrer Anwendung identifiziert und den Amazon-Ressourcennamen (ARN) der betroffenen Ressource ermittelt haben. Informationen zum Abrufen der Gründe für die Drosselung und zur Identifizierung gedrosselter Ressourcen finden Sie unter. DynamoDB-Drosselungsdiagnose-Framework
Bevor Sie sich mit bestimmten Drosselungsszenarien befassen, sollten Sie zunächst überlegen, ob tatsächlich Maßnahmen erforderlich sind:
-
Bewerten Sie Ihre Einstellungen für den maximalen Durchsatz: Diese Grenzwerte wurden bewusst konfiguriert, um die Kosten zu kontrollieren oder nachgelagerte Systeme zu schützen. Wenn Sie
MaxOnDemandThroughputExceededDrosselungsereignisse erhalten, funktionieren Ihre Grenzwerte wie vorgesehen. Überlegen Sie, ob eine Erhöhung dieser Grenzwerte Ihren ursprünglichen Zielen in Bezug auf Kostenkontrolle oder Systemschutz entspricht. -
Beurteilen Sie die Auswirkungen auf die Anwendung: Stellen Sie fest, ob die Drosselung tatsächlich Probleme für Ihre Anwendungen oder Benutzer verursacht. Wenn Ihre Anwendungen Wiederholungsversuche effektiv verarbeiten und ihre Leistungsanforderungen trotz gelegentlicher Drosselung erfüllen, ist die Beibehaltung Ihrer aktuellen Grenzwerte möglicherweise die richtige Wahl.
-
Überprüfen Sie die Verkehrsmuster: Analysieren Sie, ob es sich bei der Drosselung um ein erwartetes Verkehrsmuster oder um einen ungewöhnlichen Anstieg handelt. Bei vorhersehbaren, wiederkehrenden Verkehrsmustern, die Ihre Grenzwerte ständig überschreiten, kann eine Anpassung der Einstellungen für den maximalen Durchsatz gerechtfertigt sein. Bei vorübergehenden Spitzenwerten ist es möglicherweise besser, bessere Strategien zur Verteilung von Anfragen zu implementieren, als die Grenzwerte zu erhöhen.
Wenn Sie nach reiflicher Überlegung feststellen, 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 das passiert
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.
Optionen zur Problembehebung
Erwägen Sie die folgenden Schritte, um Ihre Drosselungsereignisse zu beheben:
-
Maximales Durchsatzlimit erhöhen: Verwenden Sie die DynamoDB-Konsole
oder die UpdateTableDynamoDB-API AWS CLI, um denMaxReadRequestUnitsWert für die betroffene Tabelle zu erhöhen, und überwachen Sie ihn anschließend und passen Sie ihn an. Dadurch kann Ihre Tabelle einen höheren Lesedurchsatz bewältigen, bevor es zu einer Drosselung kommt. -
Das maximale Limit entfernen: Stellen Sie auf ein,
MaxReadRequestUnits-1um die Obergrenze aufzuheben und eine bedarfsgerechte Skalierung bis zu Ihren Durchsatzquoten auf Kontoebene zu ermöglichen. Dadurch wird Ihr benutzerdefiniertes Limit entfernt, die Sicherheitsvorkehrungen auf Kontoebene AWS bleiben jedoch erhalten. Es ist jedoch wichtig, die Ausgaben nach der Aufhebung dieses Limits genau zu überwachen, da Ihr Tisch jetzt deutlich mehr Kapazität verbrauchen kann, bevor die Kontingente auf Kontoebene erreicht werden.
TableWriteMaxOnDemandThroughputExceeded
Wenn das passiert
Ihre On-Demand-Tabelle hat die konfigurierte maximale Schreibdurchsatzkapazität überschritten. Sie können die CloudWatch Messwerte überwachenAllgemeine Diagnose und Überwachung, um Ihr Drosselungsereignis zu analysieren.
Optionen zur Problembehebung
Erwägen Sie die folgenden Schritte, um Ihre Drosselungsereignisse zu beheben:
-
Maximales Durchsatzlimit erhöhen: Verwenden Sie die DynamoDB-Konsole
oder die UpdateTableDynamoDB-API AWS CLI, um denMaxWriteRequestUnitsWert für die betroffene Tabelle zu erhöhen, und überwachen Sie ihn anschließend und passen Sie ihn an. -
Das maximale Limit entfernen: Stellen Sie
MaxWriteRequestUnitsauf ein,-1um die Obergrenze aufzuheben und eine bedarfsgerechte Skalierung bis zu Ihren Durchsatzquoten auf Kontoebene zu ermöglichen. Dadurch wird Ihr benutzerdefiniertes Limit entfernt, die Sicherheitsvorkehrungen auf Kontoebene AWS bleiben jedoch erhalten. Es ist jedoch wichtig, die Ausgaben nach der Aufhebung dieses Limits genau zu überwachen, da Ihr Tisch jetzt deutlich mehr Kapazität verbrauchen kann, bevor die Kontingente auf Kontoebene erreicht werden.
IndexReadMaxOnDemandThroughputExceeded
Wenn das passiert
Leseanfragen an eine GSI im On-Demand-Modus haben die konfigurierte maximale Lesedurchsatzkapazität der GSI überschritten. Sie können die CloudWatch Messwerte überwachen, um Ihr Allgemeine Diagnose und Überwachung Drosselungsereignis zu analysieren.
Optionen zur Problembehebung
Erwägen Sie die folgenden Schritte, um Ihre Drosselungsereignisse zu beheben:
-
Erhöhen Sie den maximalen GSI-Durchsatzgrenzwert: Verwenden Sie die DynamoDB-Konsole
oder die UpdateTableDynamoDB-API AWS CLI, um denMaxReadRequestUnitsWert für die betroffene GSI zu erhöhen, und überwachen Sie ihn dann und passen Sie ihn an. -
Entfernen Sie die GSI-Höchstgrenze: Legen Sie diese Einstellung
MaxReadRequestUnitsauf-1fest, damit der GSI die Obergrenze aufhebt, sodass eine bedarfsgerechte Skalierung bis hin zu Ihren Durchsatzquoten auf Kontoebene möglich ist. Dadurch wird Ihr benutzerdefiniertes Limit aufgehoben, die Sicherheitsvorkehrungen auf Kontoebene bleiben jedoch erhalten AWS. Es ist jedoch wichtig, die Ausgaben nach der Aufhebung dieses Limits genau zu überwachen.
IndexWriteMaxOnDemandThroughputExceeded
Wenn das passiert
Aktualisierungen von Elementen in der Basistabelle lösen im On-Demand-Modus Schreibvorgänge in eine GSI aus, die die konfigurierte maximale Schreibdurchsatzkapazität der GSI überschreiten, was zu einer Drosselung des Gegendrucks führt. Sie können die CloudWatch Messwerte überwachen, um Ihr Drosselungsereignis Allgemeine Diagnose und Überwachung zu analysieren.
Optionen zur Problembehebung
Erwägen Sie die folgenden Schritte, um Ihre Drosselungsereignisse zu beheben:
-
Erhöhen Sie den maximalen GSI-Durchsatzgrenzwert: Verwenden Sie die DynamoDB-Konsole
oder die UpdateTableDynamoDB-API AWS CLI, um denMaxWriteRequestUnitsWert für die betroffene GSI zu erhöhen, und überwachen Sie ihn dann und passen Sie ihn an. -
Entfernen Sie die GSI-Höchstgrenze: Legen Sie diese Einstellung
MaxWriteRequestUnitsauf-1fest, damit der GSI die Obergrenze aufhebt, sodass eine bedarfsgerechte Skalierung bis hin zu Ihren Durchsatzquoten auf Kontoebene möglich ist. Dadurch wird Ihr benutzerdefiniertes Limit aufgehoben, die Sicherheitsvorkehrungen auf Kontoebene bleiben jedoch erhalten AWS. Es ist jedoch wichtig, die Ausgaben nach der Aufhebung dieses Limits genau zu überwachen.
Allgemeine Diagnose und Überwachung
Bei der On-Demand-Problembehebung, bei der der maximale Durchsatz die 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 bei Bedarf zu diagnostizieren, dass der maximale Durchsatz die Drosselung überschritten hat:
-
Ereignisse zur Drosselung des maximalen Durchsatzes:
ReadMaxOnDemandThroughputThrottleEventsundWriteMaxOnDemandThroughputThrottleEventsverfolgen Sie, wann Anfragen aufgrund einer Überschreitung der Höchstgrenzen gedrosselt werden.ReadThrottleEventsundWriteThrottleEventsverfolgen Sie, wann Lese- oder Schreibanforderungen die bereitgestellte Kapazität überschreiten. -
Aktueller maximaler Durchsatz, konfiguriert für eine Tabelle oder einen globalen sekundären Index:
OnDemandMaxReadRequestUnitsundOnDemandMaxWriteRequestUnitszeigt die aktuellen maximalen Kapazitätsgrenzen an. -
Tatsächlicher Kapazitätsverbrauch:
ConsumedReadCapacityUnitsundConsumedWriteCapacityUnitszeigt die tatsächlichen Nutzungsmuster.
Analyseansatz
Gehen Sie wie folgt vor, um bei Bedarf die Diagnose „Maximaler Durchsatz überschritten“ zu bestätigen:
-
Vergleichen Sie die verbrauchte Kapazität mit den maximalen Kapazitätsgrenzen — überprüfen Sie, ob sich der Verbrauch kontinuierlich den Höchstgrenzen nähert oder diese überschreitet.
-
Überprüfen Sie die Häufigkeit und den Zeitpunkt von Drosselungsereignissen, um Muster zu identifizieren. Achten Sie auf einen plötzlichen Anstieg der verbrauchten Kapazität, der mit Ihrem Drosselungsereignis zusammenfällt.
-
Verwenden Sie CloudWatch Contributor Insights, um zu ermitteln, welche Elemente oder Partitionsschlüssel die meiste Kapazität verbrauchen.