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 è necessario assicurarsi di aver identificato il motivo specifico 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 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 l’applicazione gestisce correttamente la limitazione (della larghezza di banda della rete) con la ripetizione dei tentativi e le prestazioni complessive soddisfano i requisiti, potrebbe non essere necessaria 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: aumenti di traffico di breve durata che superano la capacità allocata ma non sono prolungati. 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
Il tasso di consumo in lettura dell'applicazione supera le unità di capacità di lettura assegnate () configurate per la tabella. RCUs Puoi monitorare le CloudWatch metriche Diagnosi e monitoraggio comuni per analizzare il tuo evento 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:
-
Passaggio alla modalità con capacità on demand: valuta la possibilità di passare la tabella alla modalità on demand in caso di riscontro di frequente limitazione (della larghezza di banda della rete) dovuta ai picchi di traffico. La modalità 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
Il tasso di consumo di scrittura dell'applicazione supera le unità di capacità di scrittura assegnate (WCUs) configurate per la tabella. Puoi monitorare le CloudWatch metriche per analizzare il tuo evento Diagnosi e monitoraggio comuni di throttling.
Approccio di risoluzione
Prendi in considerazione queste strategie per risolvere il problema della limitazione (della larghezza di banda della rete) della capacità di scrittura:
-
Passaggio alla modalità con capacità on demand: valuta la possibilità di passare la tabella alla modalità on demand in caso di riscontro di frequente limitazione (della larghezza di banda della rete) dovuta ai picchi di traffico. La modalità 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
Il consumo di lettura su un Global Secondary Index (GSI) supera le unità di capacità di lettura fornite dal GSI (). RCUs Puoi monitorare le CloudWatch metriche per analizzare il tuo evento di Diagnosi e monitoraggio comuni throttling.
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:
-
Passaggio alla modalità con capacità on demand: valuta la possibilità di passare la tabella di base alla modalità on demand in caso di riscontro di frequente limitazione (della larghezza di banda della rete) dovuta ai picchi di traffico. La modalità 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:
-
Passaggio alla modalità con capacità on demand: valuta la possibilità di passare la tabella di base alla modalità on demand in caso di riscontro di frequente limitazione (della larghezza di banda della rete) dovuta ai picchi di traffico. La modalità 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
Durante la 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à fornita della tabella utilizzando la console AWS CLI DynamoDB o l'SDK:
-
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 Auto Scaling in modo indipendente per entrambe le tabelle e GSIs 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. Destinazioni inferiori al 40% possono causare un eccesso di provisioning. Monitora i modelli di utilizzo e i costi per bilanciare prestazioni ed efficienza.
-
Imposta limiti di capacità:
-
Minimo RCUs/WCUs: mantiene una capacità sufficiente durante i periodi di traffico ridotto.
-
Massimo RCUs/WCUs: soddisfa le richieste di traffico di picco e protegge da eventi di scalabilità incontrollata.
-
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 ottimizzare Auto Scaling in modo indipendente sia per le tabelle che per gli indici secondari globali (GSIs), con controlli separati per le unità di capacità di lettura e scrittura.
-
Modifica l'utilizzo degli obiettivi: valuta la possibilità di ridurre l'utilizzo target per la tabella o di attivare il ridimensionamento prima che si verifichi GSIs la limitazione. 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.
-
Controlla 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à fornita del GSI utilizzando la console DynamoDB o l'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 supportano GSIs solo letture alla fine coerenti. -
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 allocata del GSI rimanga entro le quote di throughput per account e per tabella.
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
.