4. Superamento del throughput massimo on demand - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

4. Superamento del throughput massimo on demand

Quando si configura una tabella on demand o un GSI, è possibile facoltativamente impostare un limite massimo di throughput (MaxReadRequestUnits e MaxWriteRequestUnits) a livello di tabella o indice per evitare costi eccessivi o proteggere i sistemi a valle dal sovraccarico. Per ulteriori informazioni sul throughput massimo, consulta Throughput massimo di DynamoDB per le tabelle on demand.

Quando l’utilizzo di lettura o scrittura supera questi limiti autoimposti, le richieste aggiuntive che supererebbero tale limite ricevono risposte rapide. DynamoDB restituisce eccezioni con MaxOnDemandThroughputExceeded un tipo di motivo di limitazione (della larghezza di banda della rete), che indica quale risorsa ha raggiunto il limite di throughput.

Limitazione (della larghezza di banda della rete) a causa del superamento del throughput massimo on demand

Questa sezione fornisce indicazioni sulla risoluzione per scenari di limitazione (della larghezza di banda della rete) a causa del superamento del throughput massimo on demand. Prima di utilizzare questa guida è necessario assicurarsi di aver identificato i motivi specifici della limitazione (della larghezza di banda della rete) nella gestione delle eccezioni dell’applicazione e di aver determinato il nome della risorsa Amazon (ARN) della risorsa interessata. Per informazioni su come recuperare i motivi della limitazione (della larghezza di banda della rete) e identificare le risorse limitate, consulta Framework di diagnosi della limitazione (della larghezza di banda della rete) di DynamoDB.

Prima di approfondire specifici scenari di limitazione (della larghezza di banda della rete), considera innanzitutto se è effettivamente necessaria un’azione:

  • Valuta le impostazioni di throughput massimo: questi limiti sono stati configurati intenzionalmente per controllare i costi o proteggere i sistemi a valle. In caso di ricezione di eventi di limitazione (della larghezza di banda della rete) MaxOnDemandThroughputExceeded, i limiti funzionano come previsto. Valuta se l’aumento di questi limiti è in linea con gli obiettivi originali di controllo dei costi o protezione del sistema.

  • Valuta l’impatto sulle applicazioni: stabilisci se la limitazione (della larghezza di banda della rete) sta effettivamente causando problemi alle applicazioni o agli utenti. Se le applicazioni gestiscono le ripetizioni di tentativi in modo efficace e soddisfano i requisiti prestazionali nonostante occasionali limitazioni (della larghezza di banda della rete), mantenere i limiti attuali potrebbe essere la scelta appropriata.

  • Analizza i modelli di traffico: analizza se la limitazione (della larghezza di banda della rete) rappresenta uno schema di traffico previsto o un picco insolito. Per modelli di traffico prevedibili e ricorrenti che superano costantemente i limiti, potrebbe essere necessario modificare le impostazioni di throughput massimo. Per i picchi temporanei, l’implementazione di migliori strategie di distribuzione delle richieste potrebbe essere più appropriata rispetto all’innalzamento dei limiti.

Se, dopo un’attenta valutazione, ritieni che le impostazioni di throughput massimo debbano essere modificate, fai riferimento agli scenari di limitazione (della larghezza di banda della rete) specifici riportati di seguito per opzioni di correzione mirate:

TableReadMaxOnDemandThroughputExceeded

Quando avviene

Quando la tabella on demand ha superato la capacità di throughput massimo di lettura configurata. Puoi monitorare le CloudWatch metriche Diagnosi e monitoraggio comuni per analizzare il tuo evento di limitazione.

Opzioni di correzione

Prendi in considerazione questa procedura per risolvere i problemi di limitazione (della larghezza di banda della rete):

  • Aumenta il limite massimo di throughput: utilizza la console DynamoDB, la AWS CLI, o l’API UpdateTable DynamoDB per aumentare il valore MaxReadRequestUnits per la tabella interessata, quindi monitora e regola. Ciò consente alla tabella di gestire un throughput di lettura più elevato prima che si verifichi la limitazione (della larghezza di banda della rete).

  • Rimuovi il limite massimo: imposta MaxReadRequestUnits su -1 per rimuovere il limite massimo, permettendo il dimensionamento in base alla domanda fino alle quote di throughput a livello di account. In questo modo viene rimosso il limite personalizzato, ma vengono comunque mantenute le misure di protezione a livello di account di AWS. Tuttavia, è importante monitorare attentamente la spesa dopo aver rimosso questo limite, poiché ora la tabella può utilizzare molta più capacità prima di raggiungere le quote a livello di account.

TableWriteMaxOnDemandThroughputExceeded

Quando avviene

Quando la tabella on demand ha superato la capacità di throughput massimo di scrittura configurata. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento Diagnosi e monitoraggio comuni di limitazione.

Opzioni di correzione

Prendi in considerazione questa procedura per risolvere i problemi di limitazione (della larghezza di banda della rete):

  • Aumenta il limite massimo di throughput: utilizza la console DynamoDB, la AWS CLI, o l’API UpdateTable DynamoDB per aumentare il valore MaxWriteRequestUnits per la tabella interessata, quindi monitora e regola.

  • Rimuovi il limite massimo: imposta MaxWriteRequestUnits su -1 per rimuovere il limite massimo, permettendo il dimensionamento in base alla domanda fino alle quote di throughput a livello di account. In questo modo viene rimosso il limite personalizzato, ma vengono comunque mantenute le misure di protezione a livello di account di AWS. Tuttavia, è importante monitorare attentamente la spesa dopo aver rimosso questo limite, poiché ora la tabella può utilizzare molta più capacità prima di raggiungere le quote a livello di account.

IndexReadMaxOnDemandThroughputExceeded

Quando avviene

Quando le richieste di lettura a un GSI in modalità on demand hanno superato la capacità di throughput massimo di lettura configurata del GSI. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento Diagnosi e monitoraggio comuni di limitazione.

Opzioni di correzione

Prendi in considerazione questa procedura per risolvere i problemi di limitazione (della larghezza di banda della rete):

  • Aumenta il limite massimo di throughput del GSI: utilizza la console DynamoDB, la AWS CLI, o l’API UpdateTable DynamoDB per aumentare il valore MaxReadRequestUnits per il GSI interessato, quindi monitora e regola.

  • Rimuovi il limite massimo del GSI: imposta MaxReadRequestUnits su -1 perché il GSI rimuova il limite, permettendo il dimensionamento in base alla domanda fino alle quote di throughput a livello di account. Ciò rimuove il limite personalizzato ma mantiene comunque le misure di protezione a livello AWS di account. È tuttavia importante monitorare attentamente la spesa dopo aver rimosso questo limite.

IndexWriteMaxOnDemandThroughputExceeded

Quando avviene

Quando gli aggiornamenti agli elementi nella tabella di base attivano la scrittura su un GSI in modalità on demand e superano la capacità di throughput di scrittura massima configurata del GSI, con conseguente limitazione (della larghezza di banda della rete) da contropressione. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento Diagnosi e monitoraggio comuni di limitazione.

Opzioni di correzione

Prendi in considerazione questa procedura per risolvere i problemi di limitazione (della larghezza di banda della rete):

  • Aumenta il limite massimo di throughput del GSI: utilizza la console DynamoDB, la AWS CLI, o l’API UpdateTable DynamoDB per aumentare il valore MaxWriteRequestUnits per il GSI interessato, quindi monitora e regola.

  • Rimuovi il limite massimo del GSI: imposta MaxWriteRequestUnits su -1 perché il GSI rimuova il limite, permettendo il dimensionamento in base alla domanda fino alle quote di throughput a livello di account. Ciò rimuove il limite personalizzato ma mantiene comunque le misure di protezione a livello AWS di account. È tuttavia importante monitorare attentamente la spesa dopo aver rimosso questo limite.

Diagnosi e monitoraggio comuni

Durante la risoluzione dei problemi relativi alla risoluzione dei problemi relativi alla velocità effettiva massima su richiesta superiore agli eventi di limitazione, diverse CloudWatch metriche possono aiutare a identificare la causa principale e i modelli di scalabilità.

Metriche essenziali CloudWatch

Monitora queste metriche chiave per diagnosticare che il throughput massimo on demand ha superato la limitazione (della larghezza di banda della rete):

Approccio di analisi

Segui questa procedura per verificare la diagnosi relativa al superamento del throughput massimo on demand:

  1. Confronta la capacità utilizzata con i limiti di capacità massima: verifica se l’utilizzo si avvicina ai limiti massimi o li supera costantemente.

  2. Esamina la frequenza e la tempistica degli eventi di limitazione (della larghezza di banda della rete) per identificare i modelli. Cerca aumenti improvvisi della capacità utilizzata che coincidono con l’evento di limitazione (della larghezza di banda della rete).

  3. Utilizzate CloudWatch Contributor Insights per identificare quali elementi o chiavi di partizione consumano più capacità.