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- Il throughput massimo su richiesta è stato superato
Quando configuri una tabella on demand o un GSI, puoi facoltativamente impostare un limite massimo di throughput (MaxReadRequestUnitse MaxWriteRequestUnits) a livello di tabella o indice per evitare costi eccessivi o proteggere i sistemi a valle dal sovraccarico. Per ulteriori informazioni sulla velocità effettiva massima, vedere. Throughput massimo di DynamoDB per le tabelle su richiesta
Quando il consumo 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, che indica quale risorsa ha raggiunto il limite di throughput.
La velocità effettiva massima su richiesta ha superato la limitazione
Questa sezione fornisce indicazioni sulla risoluzione per scenari di throughput massimo e limitazione su richiesta. Prima di utilizzare questa guida, assicurati di aver identificato i motivi specifici della limitazione nella gestione delle eccezioni dell'applicazione e di aver determinato l'Amazon Resource Name (ARN) della risorsa interessata. Per informazioni su come recuperare i motivi di limitazione e identificare le risorse limitate, consulta. Framework di diagnosi della limitazione di DynamoDB
Prima di approfondire specifici scenari di limitazione, valuta 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. Se stai ricevendo eventi di
MaxOnDemandThroughputExceededlimitazione, i tuoi limiti funzionano come previsto. Valuta se l'aumento di questi limiti è in linea con i tuoi obiettivi originali di controllo dei costi o protezione del sistema. -
Valuta l'impatto sulle applicazioni: stabilisci se la limitazione sta effettivamente causando problemi alle applicazioni o agli utenti. Se le vostre applicazioni gestiscono i nuovi tentativi in modo efficace e soddisfano i requisiti prestazionali nonostante occasionali rallentamenti, mantenere i limiti attuali potrebbe essere la scelta appropriata.
-
Esamina i modelli di traffico: analizza se la limitazione 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, ritenete che le impostazioni di throughput massimo debbano essere modificate, fate riferimento agli scenari di limitazione specifici riportati di seguito per opzioni di correzione mirate:
TableReadMaxOnDemandThroughputExceeded
Quando ciò accade
La tabella su richiesta ha superato la capacità di velocità effettiva di lettura massima configurata. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento di Diagnosi e monitoraggio comuni throttling.
Opzioni di riparazione
Prendi in considerazione questi passaggi per risolvere i tuoi problemi di limitazione:
-
Aumenta il limite massimo di throughput: utilizza la console DynamoDB
o l'API DynamoDB per aumentare il valore della UpdateTabletabella interessata AWS CLI, quindiMaxReadRequestUnitsmonitora e regola. Ciò consente alla tabella di gestire un throughput di lettura più elevato prima che si verifichi la limitazione. -
Rimuovi il limite massimo: imposta questa opzione
MaxReadRequestUnits-1per rimuovere il limite massimo, permettendo il ridimensionamento 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. AWS Tuttavia, è importante monitorare attentamente la spesa dopo aver rimosso questo limite, poiché ora la tabella può consumare molta più capacità prima di raggiungere le quote a livello di account.
TableWriteMaxOnDemandThroughputExceeded
Quando ciò accade
La tabella su richiesta ha superato la capacità di throughput di scrittura massima configurata. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento di Diagnosi e monitoraggio comuni throttling.
Opzioni di riparazione
Prendi in considerazione questi passaggi per risolvere i tuoi problemi di limitazione:
-
Aumenta il limite massimo di throughput: utilizza la console DynamoDB
o l'API DynamoDB per aumentare il valore della UpdateTabletabella interessata AWS CLI, quindiMaxWriteRequestUnitsmonitora e regola. -
Rimuovi il limite massimo: imposta questa opzione
MaxWriteRequestUnitsper rimuovere il limite massimo, permettendo il ridimensionamento in base-1alla 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. AWS Tuttavia, è importante monitorare attentamente la spesa dopo aver rimosso questo limite, poiché ora la tabella può consumare molta più capacità prima di raggiungere le quote a livello di account.
IndexReadMaxOnDemandThroughputExceeded
Quando ciò accade
Le richieste di lettura a un GSI in modalità on-demand hanno superato la capacità di throughput di lettura massima configurata dal GSI. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento di throttlingDiagnosi e monitoraggio comuni.
Opzioni di riparazione
Prendi in considerazione questi passaggi per risolvere i tuoi problemi di limitazione:
-
Aumenta il limite massimo di throughput GSI: utilizza la console DynamoDB AWS CLI
o l' UpdateTableAPI DynamoDB per aumentare ilMaxReadRequestUnitsvalore del GSI interessato, quindi monitora e regola. -
Rimuovi il limite massimo del GSI: imposta questa opzione
-1per consentireMaxReadRequestUnitsal GSI di rimuovere il limite massimo, 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. AWS Tuttavia, è importante monitorare attentamente la spesa dopo aver rimosso questo limite.
IndexWriteMaxOnDemandThroughputExceeded
Quando ciò accade
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 dal GSI, con conseguente riduzione della pressione. Puoi monitorare le metriche per analizzare il CloudWatch tuo evento di limitazione. Diagnosi e monitoraggio comuni
Opzioni di riparazione
Prendi in considerazione questi passaggi per risolvere i tuoi problemi di limitazione:
-
Aumenta il limite massimo di throughput GSI: utilizza la console DynamoDB AWS CLI
o l' UpdateTableAPI DynamoDB per aumentare ilMaxWriteRequestUnitsvalore del GSI interessato, quindi monitora e regola. -
Rimuovi il limite massimo del GSI: imposta questa opzione
-1per consentireMaxWriteRequestUnitsal GSI di rimuovere il limite massimo, 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. AWS Tuttavia, è importante monitorare attentamente la spesa dopo aver rimosso questo limite.
Diagnosi e monitoraggio comuni
Per 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 su richiesta ha superato il throttling:
-
Eventi di limitazione del throughput massimo:
ReadMaxOnDemandThroughputThrottleEventseWriteMaxOnDemandThroughputThrottleEventsmonitora quando le richieste vengono limitate a causa del superamento dei limiti massimi.ReadThrottleEventseWriteThrottleEventsmonitora quando le richieste di lettura o scrittura superano la capacità fornita. -
Velocità effettiva massima attuale configurata per una tabella o un indice secondario globale:
OnDemandMaxReadRequestUnitseOnDemandMaxWriteRequestUnitsmostra gli attuali limiti di capacità massima. -
Consumo effettivo della capacità:
ConsumedReadCapacityUnitseConsumedWriteCapacityUnitsmostra i modelli di utilizzo effettivi.
Approccio di analisi
Segui questi passaggi per confermare che il throughput massimo su richiesta ha superato la diagnosi:
-
Confronta la capacità consumata con i limiti di capacità massima: verifica se il consumo si avvicina o supera costantemente i limiti massimi.
-
Controlla la frequenza e la tempistica degli eventi di limitazione per identificare i modelli. Cerca aumenti improvvisi della capacità consumata che coincidono con l'evento di limitazione.
-
Utilizzate CloudWatch Contributor Insights per identificare quali elementi o chiavi di partizione consumano più capacità.