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, le tabelle che utilizzano la modalità on demand potrebbero continuare a subire limitazioni. La tua tabella DB può subire limitazioni per i motivi seguenti.
Il traffico è più del doppio del picco precedente
Se si supera il doppio del picco di traffico precedente nell'arco di 30 minuti, si potrebbe riscontrare una limitazione. Prima di superare il picco di traffico precedente, è consigliabile distribuire l'aumento del traffico su almeno 30 minuti. Usa la metrica ConsumedReadCapacityUnits di Amazon CloudWatch per monitorare il traffico verso la tabella. Per ulteriori informazioni, consulta la sezione Parametri e dimensioni di DynamoDB.
Per le nuove tabelle on demand puoi generare immediatamente fino a 4.000 unità di richiesta di scrittura o 12.000 unità di richiesta di lettura oppure una combinazione lineare di entrambe.
Per una tabella esistente passata alla modalità di capacità on demand, il picco precedente è uno dei valori seguenti:
- Metà della capacità di throughput allocata in precedenza per la tabella
- L'impostazione per una tabella appena creata con modalità di capacità on demand
Per ulteriori informazioni, consulta Velocità effettiva iniziale e proprietà di ridimensionamento.
Il traffico supera il limite massimo per ogni partizione
Ogni partizione della tabella può servire fino a 3.000 unità di richiesta di lettura o 1.000 unità di richiesta di scrittura oppure una combinazione lineare di entrambe. Se il traffico verso una partizione supera questa quota, la partizione potrebbe subire limitazioni.
Per risolvere il problema, completa i passaggi seguenti:
- Usa Contributor Insights di CloudWatch per DynamoDB per individuare le chiavi utilizzate e limitate con maggiore frequenza nella tua tabella.
- Randomizza le richieste indirizzate alla tabella in modo che le richieste alle chiavi di partizione più importanti vengano distribuite nel tempo. Per ulteriori informazioni, consulta Utilizzo del partizionamento di scrittura per distribuire i carichi di lavoro in modo uniforme.
Il traffico supera la quota del tuo account per ogni tabella
Per le tabelle on demand, le quote relative al throughput di lettura e di scrittura a livello di tabella si applicano a livello di account. Per impostazione predefinita, il throughput della tabella è impostato su un massimo di 40.000 unità di richieste di lettura e un massimo di 40.000 unità di richieste di scrittura. Se il traffico verso una tabella supera le quote di throughput per ogni tabella, la tabella potrebbe subire limitazioni.
Per risolvere questo problema, richiedi un aumento delle quote a livello di account per il throughput di lettura e di scrittura a livello di tabella.
L'indice secondario globale della tua tabella presenta limitazioni
Se la tua tabella DynamoDB ha un indice secondario globale con limitazione, questa potrebbe creare strozzature di contropressione sulla tabella di base. Per ulteriori informazioni, consulta In che modo la limitazione del mio indice secondario globale influisce sulla mia tabella Amazon DynamoDB? e Utilizzo degli indici secondari globali in DynamoDB.
Il traffico supera il throughput massimo configurato
Quando superi il throughput massimo di lettura o scrittura impostato sulla tua tabella on demand, la tabella subisce limitazioni e viene visualizzato un messaggio di errore ThrottlingException.
A seconda del tuo caso d'uso, completa le azioni seguenti:
- Per aumentare o disattivare l'impostazione del throughput massimo della tabella, usa 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 indice secondario globale, usa le metriche OnDemandMaxReadRequestUnits e OnDemandMaxWriteRequestUnits nella console CloudWatch.
Informazioni correlate
Come faccio a scegliere la chiave primaria corretta per la mia tabella Amazon DynamoDB?
Perché le metriche della console DynamoDB sono diverse da quelle di CloudWatch?
Quote di servizio, account e tabelle in Amazon DynamoDB
Introducing configurable maximum throughput for Amazon DynamoDB on-demand
Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 5 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 8 mesi fa