Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Perché la mia tabella DynamoDB on demand subisce limitazioni?
La mia tabella Amazon DynamoDB on demand subisce limitazioni e non so il motivo.
Soluzione
Le tabelle DynamoDB che utilizzano la modalità di capacità on demand si adattano automaticamente al volume di traffico dell'applicazione. Tuttavia, i seguenti scenari potrebbero causare la limitazione (della larghezza di banda della rete) delle tabelle DynamoDB on demand.
Il traffico è più del doppio del picco precedente
Le tabelle DynamoDB on demand potrebbero subire limitazioni quando il traffico supera il doppio del throughput di picco precedente entro una finestra di 30 minuti.
Per risolvere il problema, scala gradualmente il traffico per almeno 30 minuti prima di raggiungere il doppio del picco precedente. Per monitorare il throughput della tabella, utilizza le metriche ConsumedReadCapacityUnits e ConsumedWriteCapacityUnits in Amazon CloudWatch. Per monitorare la limitazione on demand, utilizza le metriche ReadMaxOnDemandThroughputThrottleEvents e WriteMaxOnDemandThroughputThrottleEvents.
Per le nuove tabelle on demand puoi generare immediatamente fino a 4.000 unità di richiesta di scrittura, 12.000 unità di richiesta di lettura o una combinazione lineare di entrambe. Per eventi pianificati o di picco, utilizza la velocità effettiva per scalare la capacità della tabella in base all'utilizzo previsto.
Se passi da una tabella esistente alla modalità di capacità on demand, il picco precedente è uno dei seguenti valori:
- Le nuove tabelle iniziano con 4.000 unità di capacità di scrittura (Write Capacity Unit, WCU) e 12.000 unità di capacità di lettura (Read Capacity Unit, RCU).
- Se il provisioning della tabella è superiore al valore iniziale, mantiene la capacità maggiore.
- La capacità iniziale potrebbe essere più elevata nei modelli con utilizzo prolungato.
Il traffico supera il throughput massimo per ogni partizione
Ogni partizione della tabella può servire fino a 1.000 unità di richiesta di scrittura, 3.000 unità di richiesta di lettura o una combinazione lineare di entrambe. Se il traffico verso una partizione supera questa quota, la partizione potrebbe subire una limitazione.
Per risolvere il problema, completa i seguenti passaggi:
- Utilizza Contributor Insights di CloudWatch per DynamoDB per individuare le chiavi utilizzate e limitate con maggiore frequenza nella tabella.
- Utilizza le metriche avanzate per verificare che gli eventi di limitazione delle partizioni siano la causa.
- Utilizza lo sharding di scrittura per distribuire uniformemente le richieste tra le partizioni.
- Ottimizza la ripetizione dei tentativi in caso di errore e la strategia di backoff esponenziale.
Il traffico supera la quota dell'account AWS per ciascuna tabella
Per impostazione predefinita, le tabelle on demand hanno quote a livello di account di 40.000 WCU e 40.000 RCU per ogni tabella. Se il traffico verso una tabella supera le quote di throughput, la tabella potrebbe subire una limitazione.
Per risolvere il problema, completa i seguenti passaggi:
- In CloudWatch, confronta ConsumedReadCapacityUnits e ConsumedWriteCapacityUnits con le quote correnti.
- Richiedi un aumento della quota a livello di account per le unità di capacità di lettura e scrittura a livello di tabella.
Il GSI della tabella subisce una limitazione
Se la tabella DynamoDB ha un indice secondario globale (Global Secondary Index, GSI) che subisce una limitazione, tale limitazione potrebbe limitare di conseguenza la tabella di base. Per ulteriori informazioni, consulta Comprendere la limitazione di scrittura e la contropressione del Global Secondary Index (GSI) in DynamoDB e Utilizzo degli indici secondari globali in DynamoDB.
Il traffico supera il throughput massimo configurato
Se hai configurato quote di throughput massime per la tabella on demand, ricevi un errore "ThrottlingException" quando le superi.
In base al caso d'uso, intraprendi una delle seguenti azioni:
- Per aumentare o disattivare l'impostazione del throughput massimo della tabella, utilizza l'API UpdateTable.
- Dopo una breve attesa, riprova a inviare la richiesta. Per ulteriori informazioni, consulta Ripetizione dei tentativi in caso di errore e backoff esponenziale.
Per monitorare il throughput massimo configurato per una tabella o un GSI, utilizza le metriche OnDemandMaxReadRequestUnits e OnDemandMaxWriteRequestUnits in CloudWatch.
Informazioni correlate
Guida alla risoluzione della limitazione di DynamoDB
Come faccio a scegliere una chiave primaria valida per la mia tabella Amazon DynamoDB?
Perché le metriche della console DynamoDB sono diverse da quelle di CloudWatch?
Introducing configurable maximum throughput for Amazon DynamoDB on-demand (Throughput massimo configurabile per la modalità on demand di Amazon DynamoDB)
- Argomenti
- Database
- Lingua
- Italiano
Video correlati


Contenuto pertinente
AWS UFFICIALEAggiornata 2 anni fa