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à.
2. Superamento del throughput allocato
La limitazione della capacità assegnata si verifica quando il tasso di consumo dell'applicazione supera le unità di capacità di lettura o scrittura (RCUs/WCUs) configurate per le tabelle o gli indici secondari globali. Sebbene DynamoDB fornisca una capacità di espansione per gestire picchi di traffico occasionali, le richieste sostenute oltre i limiti prestabiliti comportano una limitazione (della larghezza di banda della rete). Quando ciò accade, DynamoDB restituisce un tipo di motivo di limitazione (della larghezza di banda della rete) ProvisionedThroughputExceeded nell’eccezione di limitazione. Il motivo indica se il problema riguarda le operazioni di lettura o scrittura e se influisce sulla tabella di base o su un indice secondario globale.
La limitazione (della larghezza di banda della rete) può verificarsi indipendentemente dal fatto che il dimensionamento automatico sia abilitato o meno. Il dimensionamento automatico si adatta agli aumenti dei consumi, ma non risponde istantaneamente ed è vincolato dai limiti di capacità massima configurati. Ciò significa che può ancora verificarsi la limitazione (della larghezza di banda della rete) durante improvvisi picchi di traffico o quando l’utilizzo supera i limiti massimi di dimensionamento automatico.
Misure di mitigazione per il superamento del throughput allocato
Questa sezione fornisce indicazioni per la risoluzione degli scenari di limitazione (della larghezza di banda della rete) della capacità allocata. Prima di utilizzare questa guida, assicurati di aver identificato il motivo specifico 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 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 addentrarsi in scenari specifici di limitazione, occorre valutare innanzitutto se la limitazione (della larghezza di banda della rete) è effettivamente un problema che deve essere risolto:
-
Una limitazione (della larghezza di banda della rete) occasionale è normale e prevista in applicazioni DynamoDB ben ottimizzate; in questo caso la limitazione (della larghezza di banda della rete) indica semplicemente che si sta consumando il 100% di quanto allocato. Se la tua applicazione gestisce correttamente la limitazione con tentativi e le tue prestazioni complessive soddisfano i requisiti, la limitazione potrebbe non richiedere un'azione immediata.
-
Tuttavia, se la latenza causata è inaccettabile sul lato client, peggiorando l’esperienza utente o impedendo il completamento tempestivo delle operazioni cruciali, procedi con le opzioni di mitigazione riportate di seguito.
Per risolvere i problemi di limitazione (della larghezza di banda della rete), stabilisci innanzitutto se la limitazione è causata da:
-
Picchi di traffico temporanei: Short-duration aumenti del traffico che superano la capacità prevista ma non sono sostenuti. Questi richiedono strategie diverse rispetto a un traffico elevato e continuo.
-
Traffico elevato e continuo: carichi di lavoro prolungati che superano costantemente la capacità allocata.
Per quanto riguarda i picchi di traffico, prendi in considerazione le strategie tratte dal blog Handle traffic spikes with Amazon DynamoDB provisioned capacity in Risorse aggiuntive.
Per un traffico elevato e continuo, prendi in considerazione le seguenti opzioni di regolazione della capacità:
TableReadProvisionedThroughputExceeded
Quando avviene
Quando il tasso di consumo di lettura dell’applicazione supera le unità di capacità di lettura (RCU, Read Capacity Units) allocate configurate per la tabella. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento Diagnosi e monitoraggio comuni di limitazione.
Approccio di risoluzione
Prendi in considerazione queste strategie per risolvere il problema della limitazione (della larghezza di banda della rete) della capacità di lettura:
-
Passa alla modalità di capacità su richiesta: valuta la possibilità di passare alla modalità on-demand se riscontri frequenti rallentamenti dovuti ai picchi di traffico. On-demand elimina i problemi di provisioning e si adatta automaticamente al carico di lavoro.
-
In caso di mantenimento della modalità con provisioning e se il dimensionamento automatico non è abilitato:
-
Valuta la possibilità di aumentare la capacità di lettura delle tabelle.
-
Abilita il dimensionamento automatico per la capacità di lettura sulla tabella.
-
-
Se il dimensionamento automatico è abilitato (impostazione predefinita per le tabelle create nella console):
TableWriteProvisionedThroughputExceeded
Quando avviene
Quando il tasso di consumo di scrittura dell’applicazione supera le unità di capacità di scrittura (WCU, Write Capacity Units) allocate configurate per la tabella. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento Diagnosi e monitoraggio comuni di limitazione.
Approccio di risoluzione
Prendi in considerazione queste strategie per risolvere il problema della limitazione (della larghezza di banda della rete) della capacità di scrittura:
-
Passa alla modalità di capacità su richiesta: valuta la possibilità di passare alla modalità on-demand se riscontri frequenti rallentamenti dovuti ai picchi di traffico. On-demand elimina i problemi di provisioning e si adatta automaticamente al carico di lavoro.
-
In caso di mantenimento della modalità con provisioning e se il dimensionamento automatico non è abilitato:
-
Valuta la possibilità di aumentare la capacità di scrittura delle tabelle.
-
Abilita il dimensionamento automatico per la capacità di scrittura sulla tabella.
-
-
Se il dimensionamento automatico è abilitato (impostazione predefinita per le tabelle create nella console):
IndexReadProvisionedThroughputExceeded
Quando avviene
Quando l’utilizzo di lettura su un indice secondario globale (GSI) supera le unità di capacità di lettura (RCU) allocate del GSI. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento Diagnosi e monitoraggio comuni di limitazione.
Approccio di risoluzione
Prendi in considerazione queste strategie per risolvere il problema della limitazione (della larghezza di banda della rete) della capacità di lettura nei GSI:
-
Passa alla modalità di capacità su richiesta: valuta la possibilità di passare dalla tabella di base a quella su richiesta se riscontri frequenti rallentamenti dovuti ai picchi di traffico. On-demand elimina i problemi di provisioning e si adatta automaticamente al carico di lavoro.
-
In caso di mantenimento della modalità con provisioning e se il dimensionamento automatico non è abilitato:
-
Prendi in considerazione l’aumento della capacità di lettura del GSI.
-
Abilita il dimensionamento automatico per la capacità di lettura sul GSI.
-
-
Se il dimensionamento automatico è abilitato (impostazione predefinita per le tabelle create nella console):
IndexWriteProvisionedThroughputExceeded
Quando avviene
Quando gli aggiornamenti agli elementi nella tabella di base attivano la scrittura su un GSI che supera la capacità di scrittura allocata del GSI. Ciò causa una limitazione (della larghezza di banda della rete) da contropressione nelle scritture della tabella di base. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento Diagnosi e monitoraggio comuni di limitazione.
Approccio di risoluzione
Prendi in considerazione queste strategie per risolvere il problema della limitazione (della larghezza di banda della rete) della capacità di scrittura nei GSI:
-
Passa alla modalità di capacità su richiesta: valuta la possibilità di passare dalla tabella di base a quella su richiesta se riscontri frequenti rallentamenti dovuti ai picchi di traffico. On-demand elimina i problemi di provisioning e si adatta automaticamente al carico di lavoro.
-
In caso di mantenimento della modalità con provisioning e se il dimensionamento automatico non è abilitato:
-
Prendi in considerazione l’aumento della capacità di scrittura del GSI.
-
Abilita il dimensionamento automatico per la capacità di scrittura sul GSI.
-
-
Se il dimensionamento automatico è abilitato (impostazione predefinita per le tabelle create nella console):
Diagnosi e monitoraggio comuni
Nella risoluzione degli errori di throughput, diverse CloudWatch metriche possono aiutare a identificare la causa principale.
Metriche essenziali CloudWatch
Monitora queste metriche chiave per diagnosticare la limitazione (della larghezza di banda della rete) della capacità allocata:
-
Eventi di limitazione (della larghezza di banda della rete):
ReadProvisionedThroughputThrottleEventseWriteProvisionedThroughputThrottleEventsmonitorano quando le richieste vengono limitate per questo motivo.ReadThrottleEventseWriteThrottleEventsmonitorano quando le richieste di lettura o scrittura superano la capacità allocata. -
Utilizzo di capacità:
ConsumedReadCapacityUnitseConsumedWriteCapacityUnitsmostrano l’utilizzo effettivo. -
Capacità allocata:
ProvisionedReadCapacityUnitseProvisionedWriteCapacityUnitsmostrano i limiti configurati.
Procedure di risoluzione
Aumento della capacità di throughput delle tabelle
Utilizza questa procedura quando il dimensionamento automatico non è abilitato ed è necessario un aumento immediato della capacità.
-
Aggiorna la capacità assegnata alla tua tabella utilizzando la console DynamoDB, o SDK: AWS CLI
-
Per la capacità di lettura: aumenta il parametro
ReadCapacityUnits, che specifica il numero massimo di operazioni a elevata consistenza di lettura utilizzate al secondo prima che DynamoDB sottoponga a limitazione (della larghezza di banda della rete) le richieste. -
Per la capacità di scrittura: aumenta il parametro
WriteCapacityUnits, che specifica il numero massimo di scritture utilizzate al secondo prima che DynamoDB sottoponga a limitazione (della larghezza di banda della rete) le richieste.
-
-
Verifica che le nuove impostazioni di capacità non superino le quote di throughput per tabella e che l’utilizzo totale dell’account rimanga al di sotto delle quote di throughput per account della Regione. Se questi limiti si stanno avvicinando, valuta invece la possibilità di passare alla modalità con capacità on demand.
Configurazione del dimensionamento automatico delle tabelle per regolare la capacità di lettura o scrittura della tabella o del GSI
Configura il dimensionamento automatico di DynamoDB per regolare automaticamente la capacità di lettura o scrittura in base ai modelli di traffico. È possibile configurare il dimensionamento automatico in modo indipendente sia per le tabelle che per i GSI, con controlli separati per le unità di capacità di lettura e scrittura.
-
Abilita il dimensionamento automatico per la capacità di lettura, la capacità di scrittura o entrambe sulla tabella o sul GSI.
-
Stabilisci una percentuale di utilizzo di destinazione con margine di manovra per i picchi di traffico.
Nota
Un minore utilizzo di destinazione aumenta i costi e la frequenza di dimensionamento. Gli obiettivi inferiori al 40% potrebbero causare un provisioning eccessivo. Monitora i modelli di utilizzo e i costi per bilanciare prestazioni ed efficienza.
-
Imposta limiti di capacità:
-
Minimo RCUs/WCUs: mantiene una capacità sufficiente nei periodi di traffico limitato.
-
Massimo RCUs/WCUs: soddisfa i picchi di traffico e protegge da eventi di scalabilità incontrollati.
-
Per indicazioni sulla configurazione e la gestione del dimensionamento automatico di DynamoDB, consulta Gestione automatica della capacità effettiva di trasmissione con il dimensionamento automatico di DynamoDB.
Nota
Il dimensionamento automatico richiede in genere diversi minuti per rispondere alle variazioni del traffico. In caso di picchi di traffico improvvisi, la capacità di espansione della tabella offre una protezione immediata mentre il dimensionamento automatico si adatta. Configura l’utilizzo di destinazione con un margine di manovra adeguato per dare tempo alle operazioni di dimensionamento e preservare la capacità di espansione in caso di richieste impreviste.
Ottimizzazione delle impostazioni di dimensionamento automatico di lettura o scrittura della tabella o dell’indice
Utilizza questa procedura quando il dimensionamento automatico è abilitato ma si verifica comunque una limitazione (della larghezza di banda della rete). È possibile regolare il dimensionamento automatico in modo indipendente sia per le tabelle che per i GSI, con controlli separati per le unità di capacità di lettura e scrittura.
-
Regola l’utilizzo di destinazione: valuta la possibilità di ridurre l’utilizzo di destinazione per la tabella o i GSI per attivare il dimensionamento prima che si verifichi la limitazione (della larghezza di banda della rete). Assicurati di monitorare il traffico dopo aver apportato queste modifiche. Per ulteriori informazioni sul consumo di capacità e sulle implicazioni in termini di costi, consulta Configurazione del dimensionamento automatico delle tabelle per regolare la capacità di lettura o scrittura della tabella o del GSI.
-
Rivedi i limiti di capacità: assicurati che le impostazioni di capacità minima e massima siano in linea con i modelli di carico di lavoro effettivi.
Passaggio alla modalità con capacità on demand
Per informazioni generali sul passaggio tra modalità di capacità, consulta Considerazioni sul passaggio tra modalità di capacità in DynamoDB. Fai riferimento a Service Quotas per conoscere i vincoli specifici relativi al passaggio da una modalità all’altra.
Aumento della capacità di throughput dei GSI
Utilizza questa procedura quando il dimensionamento automatico non è abilitato sul GSI ed è necessario un aumento immediato della capacità.
-
Aggiorna la capacità assegnata al GSI utilizzando la console DynamoDB, o SDK: AWS CLI
-
Per la capacità di lettura: aumenta il parametro
ReadCapacityUnitsper il GSI specifico, che specifica il numero massimo di letture utilizzabili al secondo dal GSI prima che DynamoDB sottoponga a limitazione (della larghezza di banda della rete) le richieste. Tieni presente che i GSI supportano solo letture a coerenza finale. -
Per la capacità di scrittura: aumenta il parametro
WriteCapacityUnitsper il GSI specifico, che specifica il numero massimo di scritture utilizzabili al secondo dal GSI prima che DynamoDB sottoponga a limitazione (della larghezza di banda della rete) le richieste.
-
-
Assicurati che la capacità di throughput assegnata al GSI rimanga entro le quote di throughput per account e per tabella. Quote in Amazon DynamoDB
Risorse aggiuntive
-
Per informazioni dettagliate sulla gestione dei picchi di traffico nelle tabelle DynamoDB con capacità allocata, comprensive di varie strategie, dall’utilizzo del dimensionamento automatico e della capacità di espansione alla gestione strategica della limitazione (della larghezza di banda della rete), consulta Handle traffic spikes with Amazon DynamoDB provisioned capacity
. -
Per informazioni su come utilizzare un’espressione Cron per pianificare una policy di dimensionamento, consulta Optimize costs by scheduling provisioned capacity for DynamoDB
. -
Per informazioni pratiche sul monitoraggio e l’analisi dei modelli di utilizzo del throughput per le tabelle DynamoDB in modalità con capacità allocata, consulta How to evaluate throughput utilization for Amazon DynamoDB tables in provisioned mode
.