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.
2- Der bereitgestellte Durchsatz wurde überschritten
Die Drosselung der bereitgestellten Kapazität erfolgt, wenn die Nutzungsrate Ihrer Anwendung die für Ihre Tabellen oder globalen sekundären Indizes konfigurierten Lese- oder Schreibkapazitätseinheiten (RCUs/WCUs) überschreitet. DynamoDB bietet zwar Burst-Kapazität zur Bewältigung gelegentlicher Datenverkehrsspitzen, aber anhaltende Anfragen, die Ihre bereitgestellten Grenzwerte überschreiten, führen zu Drosselung. In diesem Fall gibt DynamoDB in der ProvisionedThroughputExceeded Drosselungsausnahme einen Einschränkungsgrundtyp zurück. Der Grund gibt an, ob das Problem bei Lese- oder Schreibvorgängen liegt und ob es sich auf die Basistabelle oder einen globalen Sekundärindex auswirkt.
Die Drosselung kann unabhängig davon erfolgen, ob Auto Scaling aktiviert ist. Auto Scaling passt sich dem steigenden Verbrauch an, reagiert jedoch nicht sofort und ist durch die von Ihnen konfigurierten maximalen Kapazitätsgrenzen eingeschränkt. Das bedeutet, dass es bei plötzlichen Verkehrsspitzen oder wenn der Verbrauch Ihre maximalen Auto Scaling Scaling-Grenzwerte überschreitet, immer noch zu Drosselungen kommen kann.
Der bereitgestellte Durchsatz übertraf die Maßnahmen zur Risikominderung
Dieser Abschnitt enthält Anleitungen zur Lösung von Szenarien zur Drosselung bereitgestellter Kapazitäten. Bevor Sie dieses Handbuch verwenden, stellen Sie sicher, dass Sie den spezifischen Grund für die Drosselung 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 prüfen, ob es sich bei der Drosselung tatsächlich um ein Problem handelt, das gelöst werden muss:
-
Gelegentliche Drosselung ist normal und wird in gut optimierten DynamoDB-Anwendungen erwartet. Drosselung bedeutet einfach, dass Sie 100% dessen, was Sie bereitgestellt haben, verbrauchen. Wenn Ihre Anwendung die Drosselung ordnungsgemäß mit Wiederholungsversuchen verarbeitet und Ihre Gesamtleistung den Anforderungen entspricht, sind bei der Drosselung möglicherweise keine sofortigen Maßnahmen erforderlich.
-
Wenn die Drosselung jedoch zu einer inakzeptablen clientseitigen Latenz führt, die Benutzererfahrung beeinträchtigt oder verhindert, dass kritische Vorgänge rechtzeitig abgeschlossen werden, fahren Sie mit den unten aufgeführten Abhilfemöglichkeiten fort.
Wenn Sie Probleme mit der Drosselung beheben müssen, stellen Sie zunächst fest, ob Ihre Drosselung folgende Ursachen hat:
-
Temporäre Verkehrsspitzen: Kurzfristiger Anstieg des Datenverkehrs, der Ihre bereitgestellte Kapazität übersteigt, aber nicht dauerhaft anhält. Diese erfordern andere Strategien als kontinuierlich hoher Traffic.
-
Kontinuierlich hoher Traffic: Dauerhafte Workloads, die Ihre bereitgestellte Kapazität ständig überschreiten.
Bei Traffic-Spitzen sollten Sie die Strategien aus dem Blog-In Trafficspitzen handhaben mit Amazon DynamoDB Provisioned Capacity in Betracht ziehen. Weitere Ressourcen
Bei anhaltend hohem Traffic sollten Sie die folgenden Optionen zur Kapazitätsanpassung in Betracht ziehen:
TableReadProvisionedThroughputExceeded
Wenn das passiert
Die Leseverbrauchsrate Ihrer Anwendung übersteigt die für Ihre Tabelle konfigurierten bereitgestellten Lesekapazitätseinheiten (RCUs). Sie können die CloudWatch Messwerte überwachen, Allgemeine Diagnose und Überwachung um Ihr Drosselungsereignis zu analysieren.
Lösungsansatz
Ziehen Sie die folgenden Strategien in Betracht, um die Drosselung der Lesekapazität zu beheben:
-
Wechseln Sie in den On-Demand-Kapazitätsmodus: Erwägen Sie, Ihre Tabelle auf On-Demand-Modus umzustellen, wenn Sie aufgrund von Datenverkehrsspitzen häufig Drosselungen feststellen. On-Demand-Lösung beseitigt Probleme bei der Bereitstellung und passt sich automatisch Ihrer Arbeitslast an.
-
Wenn der Bereitstellungsmodus beibehalten wird und Auto Scaling nicht aktiviert ist:
-
Erwägen Sie, die Lesekapazität für Tabellen zu erhöhen.
-
Aktivieren Sie Auto Scaling für die Lesekapazität Ihrer Tabelle.
-
-
Wenn Auto Scaling aktiviert ist (Standard für Tabellen, die in der Konsole erstellt wurden):
TableWriteProvisionedThroughputExceeded
Wenn das passiert
Die Schreibverbrauchsrate Ihrer Anwendung übersteigt die für Ihre Tabelle konfigurierten bereitgestellten Schreibkapazitätseinheiten (WCUs). Sie können die CloudWatch Messwerte überwachen, Allgemeine Diagnose und Überwachung um Ihr Drosselungsereignis zu analysieren.
Lösungsansatz
Ziehen Sie die folgenden Strategien in Betracht, um die Drosselung der Schreibkapazität zu beheben:
-
Wechseln Sie in den On-Demand-Kapazitätsmodus: Erwägen Sie, Ihre Tabelle auf On-Demand-Kapazität umzustellen, wenn Sie aufgrund von Datenverkehrsspitzen häufig Drosselungen feststellen. On-Demand-Lösung beseitigt Probleme bei der Bereitstellung und passt sich automatisch Ihrer Arbeitslast an.
-
Wenn der Bereitstellungsmodus beibehalten wird und Auto Scaling nicht aktiviert ist:
-
Erwägen Sie, die Schreibkapazität für Tabellen zu erhöhen.
-
Aktivieren Sie Auto Scaling für die Schreibkapazität in Ihrer Tabelle.
-
-
Wenn Auto Scaling aktiviert ist (Standard für Tabellen, die in der Konsole erstellt wurden):
IndexReadProvisionedThroughputExceeded
Wenn das passiert
Der Leseverbrauch auf einem Global Secondary Index (GSI) übersteigt die vom GSI bereitgestellten Lesekapazitätseinheiten (). RCUs Sie können die CloudWatch Messwerte überwachen, um Ihr Allgemeine Diagnose und Überwachung Drosselungsereignis zu analysieren.
Lösungsansatz
Ziehen Sie diese Strategien in Betracht, um die Drosselung der GSI-Lesekapazität zu beheben:
-
Wechseln Sie in den On-Demand-Kapazitätsmodus: Erwägen Sie, die Basistabelle auf On-Demand-Kapazität umzustellen, wenn Sie aufgrund von Datenverkehrsspitzen häufig Drosselungen feststellen. On-Demand-Lösung beseitigt Probleme bei der Bereitstellung und passt sich automatisch Ihrer Arbeitslast an.
-
Wenn der Bereitstellungsmodus beibehalten wird und Auto Scaling nicht aktiviert ist:
-
Erwägen Sie, die GSI-Lesekapazität zu erhöhen.
-
Aktivieren Sie Auto Scaling für die Lesekapazität auf Ihrem GSI.
-
-
Wenn Auto Scaling aktiviert ist (Standard für Tabellen, die in der Konsole erstellt wurden):
IndexWriteProvisionedThroughputExceeded
Wenn das passiert
Aktualisierungen von Elementen in der Basistabelle lösen Schreibvorgänge in eine globale Datenbank aus, die die bereitgestellte Schreibkapazität der globalen Datenbank überschreiten. Dies führt zu einer Drosselung des Gegendrucks bei Schreibvorgängen in der Basistabelle. Sie können die CloudWatch Messwerte überwachen, um Ihr Allgemeine Diagnose und Überwachung Drosselungsereignis zu analysieren.
Lösungsansatz
Ziehen Sie die folgenden Strategien in Betracht, um die Drosselung der GSI-Schreibkapazität zu beheben:
-
Wechseln Sie in den On-Demand-Kapazitätsmodus: Erwägen Sie, die Basistabelle auf On-Demand-Kapazität umzustellen, wenn Sie aufgrund von Datenverkehrsspitzen häufig Drosselungen feststellen. On-Demand-Lösung beseitigt Probleme bei der Bereitstellung und passt sich automatisch Ihrer Arbeitslast an.
-
Wenn der Bereitstellungsmodus beibehalten wird und Auto Scaling nicht aktiviert ist:
-
Erwägen Sie, die GSI-Schreibkapazität zu erhöhen.
-
Aktivieren Sie Auto Scaling für Schreibkapazität auf Ihrem GSI.
-
-
Wenn Auto Scaling aktiviert ist (Standard für Tabellen, die in der Konsole erstellt wurden):
Allgemeine Diagnose und Überwachung
Bei der Behebung von Durchsatzfehlern können verschiedene CloudWatch Metriken helfen, die Ursache zu ermitteln.
Wesentliche CloudWatch Metriken
Überwachen Sie diese wichtigen Kennzahlen, um die Drosselung der bereitgestellten Kapazität zu diagnostizieren:
-
Drosselungsereignisse:
ReadProvisionedThroughputThrottleEventsundWriteProvisionedThroughputThrottleEventsverfolgen Sie, wann Anfragen aus diesem Grund gedrosselt werden.ReadThrottleEventsundWriteThrottleEventsverfolgen Sie, wann Lese- oder Schreibanforderungen die bereitgestellte Kapazität überschreiten. -
Kapazitätsverbrauch:
ConsumedReadCapacityUnitsundConsumedWriteCapacityUnitszeigt die tatsächliche Nutzung an. -
Bereitgestellte Kapazität:
ProvisionedReadCapacityUnitsundProvisionedWriteCapacityUnitszeigt die konfigurierten Grenzwerte an.
Lösungsverfahren
Erhöhung der Durchsatzkapazität von Tabellen
Verwenden Sie dieses Verfahren, wenn Auto Scaling nicht aktiviert ist und Sie eine sofortige Kapazitätserhöhung benötigen.
-
Aktualisieren Sie die bereitgestellte Kapazität Ihrer Tabelle mithilfe der DynamoDB-Konsole oder des SDK AWS CLI:
-
Für Lesekapazität: Erhöhen Sie den
ReadCapacityUnitsParameter, der die maximale Anzahl stark konsistenter Lesevorgänge angibt, die pro Sekunde verbraucht werden, bevor DynamoDB Anfragen drosselt. -
Für Schreibkapazität: Erhöhen Sie den
WriteCapacityUnitsParameter, der die maximale Anzahl von Schreibvorgängen angibt, die pro Sekunde verbraucht werden, bevor DynamoDB Anfragen drosselt.
-
-
Stellen Sie sicher, dass Ihre neuen Kapazitätseinstellungen die Durchsatzquoten pro Tabelle nicht überschreiten und dass Ihr gesamter Kontoverbrauch unter den Durchsatzquoten pro Konto für Ihre Region bleibt. Wenn Sie sich diesen Grenzwerten nähern, sollten Sie stattdessen in den On-Demand-Kapazitätsmodus wechseln.
Konfiguration von Table Auto Scaling zur Anpassung der Lese- oder Schreibkapazität Ihrer Tabelle oder GSI
Konfigurieren Sie DynamoDB Auto Scaling so, dass die Lese- oder Schreibkapazität automatisch an die Verkehrsmuster angepasst wird. Sie können Auto Scaling unabhängig für beide Tabellen und GSIs mit separaten Steuerungen für Lese- und Schreibkapazitätseinheiten konfigurieren.
-
Aktivieren Sie Auto Scaling für Lesekapazität, Schreibkapazität oder beides auf Ihrer Tabelle oder GSI.
-
Legen Sie einen Zielauslastungsprozentsatz mit Spielraum für Datenverkehrsspitzen fest.
Anmerkung
Eine geringere Zielauslastung erhöht die Kosten und erhöht die Skalierungshäufigkeit. Ziele unter 40% können zu einer Überprovisionierung führen. Überwachen Sie Nutzungsmuster und Kosten, um ein Gleichgewicht zwischen Leistung und Effizienz zu finden.
-
Legen Sie Kapazitätsgrenzen fest:
-
Minimum RCUs/WCUs: Sorgt für eine ausreichende Kapazität in Zeiten mit geringem Verkehrsaufkommen.
-
Maximum RCUs/WCUs: Nimmt hohe Datenverkehrsanforderungen auf und schützt vor unkontrollierten Skalierungsereignissen.
-
Anleitungen zur Konfiguration und Verwaltung von DynamoDB Auto Scaling finden Sie unter Automatisches Verwalten der Durchsatzkapazität mit DynamoDB Auto Scaling.
Anmerkung
Auto Scaling benötigt in der Regel mehrere Minuten, um auf Verkehrsänderungen zu reagieren. Bei plötzlichen Datenverkehrsspitzen bietet die Burst-Kapazität Ihrer Tabelle sofortigen Schutz, während sich Auto Scaling anpasst. Konfigurieren Sie die Zielauslastung mit ausreichend Spielraum, um Zeit für Skalierungsvorgänge zu haben und die Burst-Kapazität für unerwarteten Bedarf zu sichern.
Optimieren der Auto Scaling Scaling-Lese- oder Schreibeinstellungen Ihrer Tabelle oder Ihres Indexes
Verwenden Sie dieses Verfahren, wenn Auto Scaling aktiviert ist, die Drosselung jedoch weiterhin erfolgt. Sie können Auto Scaling unabhängig sowohl für Tabellen als auch für globale Sekundärindizes (GSIs) mit separaten Steuerungen für Lese- und Schreibkapazitätseinheiten optimieren.
-
Passen Sie die Zielauslastung an: Erwägen Sie, die Zielauslastung für Ihre Tabelle GSIs zu verringern oder die Skalierung früher auszulösen, bevor eine Drosselung erfolgt. Stellen Sie sicher, dass Sie Ihren Datenverkehr überwachen, nachdem Sie diese Anpassungen vorgenommen haben. Weitere Informationen Konfiguration von Table Auto Scaling zur Anpassung der Lese- oder Schreibkapazität Ihrer Tabelle oder GSI zum Kapazitätsverbrauch und zu den Auswirkungen auf die Kosten finden Sie unter.
-
Überprüfen Sie die Kapazitätsgrenzen: Stellen Sie sicher, dass Ihre Mindest- und Höchstkapazitätseinstellungen Ihren tatsächlichen Workload-Mustern entsprechen.
Umstellung auf den On-Demand-Kapazitäts
Allgemeine Informationen zum Umschalten von Kapazitätsmodi finden Sie unterÜberlegungen beim Wechseln der Kapazitätsmodi in DynamoDB. Informationen zu spezifischen Einschränkungen beim Moduswechsel finden Sie in den Service Quotas.
Erhöhung der GSI-Durchsatzkapazität
Verwenden Sie dieses Verfahren, wenn Auto Scaling auf Ihrer GSI nicht aktiviert ist oder Sie eine sofortige Kapazitätserhöhung benötigen.
-
Aktualisieren Sie die bereitgestellte Kapazität der GSI mithilfe der DynamoDB-Konsole oder des SDK: AWS CLI
-
Für Lesekapazität: Erhöhen Sie den
ReadCapacityUnitsParameter für die spezifische GSI, der die maximale Anzahl von Lesevorgängen angibt, die die GSI pro Sekunde verarbeiten kann, bevor DynamoDB Anfragen drosselt. Beachten Sie, dass nur eventuell konsistente Lesevorgänge unterstützt GSIs werden. -
Für Schreibkapazität: Erhöhen Sie den
WriteCapacityUnitsParameter für die spezifische GSI, der die maximale Anzahl von Schreibvorgängen angibt, die die GSI pro Sekunde verarbeiten kann, bevor DynamoDB Anfragen drosselt.
-
Weitere Ressourcen
-
Ausführliche Informationen zum Umgang mit Datenverkehrsspitzen in von DynamoDB bereitgestellten Kapazitätstabellen, einschließlich verschiedener Strategien, von der Nutzung von Auto Scaling und Burst-Kapazität bis hin zu strategischem Drosselungsmanagement, finden Sie unter Umgang mit Verkehrsspitzen mit
von Amazon DynamoDB bereitgestellter Kapazität. -
Informationen zur Verwendung eines Cron-Ausdrucks zur Planung einer Skalierungsrichtlinie finden Sie unter Optimieren der Kosten durch die Planung der bereitgestellten Kapazität für
DynamoDB. -
Praktische Informationen zur Überwachung und Analyse von Durchsatznutzungsmustern für Ihre DynamoDB-Tabellen im Bereitstellungsmodus finden Sie unter So bewerten Sie die Durchsatzauslastung für Amazon DynamoDB-Tabellen
im Bereitstellungsmodus.