DynamoDB on-demand throughput exceeded

In breve — Sì, le tabelle on-demand possono comunque fare throttling. Le tre cause: hai impostato un throughput massimo (MaxReadRequestUnits/MaxWriteRequestUnits) e l'hai superato; hai guidato più del doppio del tuo picco di traffico precedente entro 30 minuti; o hai raggiunto una quota a livello di tabella (default 40.000 unità di richiesta di lettura e 40.000 unità di richiesta di scrittura per tabella). Alza o rimuovi il massimo, aumenta il traffico gradualmente, e mantieni i retry con backoff esponenziale.

Cosa significa

ThrottlingException: Rate of requests exceeds the allowed throughput.

La modalità on-demand scala per accogliere il traffico, ma non istantaneamente e non senza limiti. Le nuove tabelle on-demand sostengono immediatamente fino a 4.000 scritture e 12.000 letture al secondo, e on-demand accoglie istantaneamente fino al doppio del tuo picco di traffico precedente. Superare un massimo configurato, correre più veloce di quel raddoppio entro 30 minuti, o attraversare una quota si manifestano tutti come throttling — ThrottlingException è HTTP 400 e ripetibile, e l'errore porta campi ThrottlingReason (es. IndexWriteMaxOnDemandThroughputExceeded) che nominano la risorsa e il limite raggiunto.

Perché succede

  • Un throughput massimo configurato — hai impostato MaxReadRequestUnits/MaxWriteRequestUnits e la domanda l'ha superato; DynamoDB restituisce una ThrottlingException (è un tetto di controllo dei costi che hai scelto, applicato al meglio possibile).
  • Più veloce di 2x il picco precedente — on-demand accoglie istantaneamente fino al doppio del tuo picco precedente, ma il throttling può verificarsi se superi il doppio di quel picco entro 30 minuti.
  • Rampa a freddo — una tabella nuova di zecca (o un bulk load subito dopo la creazione) supera la baseline iniziale di 4.000 scritture e 12.000 letture al secondo.
  • Quota a livello di tabella — il tetto per-tabella predefinito di 40.000 unità di richiesta di lettura e 40.000 unità di richiesta di scrittura; le violazioni di quota a livello di account si manifestano invece come RequestLimitExceeded.
  • Una partizione hot — traffico concentrato su una partition key, che ha il proprio limite per-partizione indipendentemente dalla modalità della tabella.

Come risolverlo

  1. Alza il massimo configurato — aumenta MaxReadRequestUnits/MaxWriteRequestUnits tramite UpdateTable, o imposta il valore a -1 per rimuovere il tuo tetto personalizzato (le service quota si applicano comunque).
  2. Pre-riscalda prima di un picco noto — usa l'impostazione warm throughput di DynamoDB, o distribuisci la crescita del traffico su almeno 30 minuti così il raddoppio di on-demand resti avanti alla domanda invece di rincorrere un cambiamento a gradino.
  3. Mantieni i retry con backoff esponenziale — l'SDK riprova i throttle per impostazione predefinita; usa la modalità adaptive retry per carichi a raffica.
  4. Modera gli import di massa o usa la funzionalità di import da S3 invece di martellare una tabella nuova.
  5. Distribuisci lo spazio delle chiavi così nessuna singola partition key diventi hot — una partizione hot fa throttling anche quando la tabella ha margine.
  6. Richiedi un aumento di quota se hai legittimamente bisogno di più di 40.000 unità di richiesta di lettura/scrittura su una tabella.

Stai cercando quale chiave sta assorbendo le richieste? Sfoglia e filtra la tabella nell'app desktop DynoTable per trovare la partition key hot prima che limiti il tuo throughput.

FAQ

Una tabella DynamoDB on-demand può essere sottoposta a throttling? Sì. Le tabelle on-demand fanno throttling quando superi un throughput massimo configurato, guidi più del doppio del tuo picco di traffico precedente prima che DynamoDB finisca di scalare, attraversi la quota per-tabella predefinita di 40.000 unità di richiesta di lettura e 40.000 di scrittura, o concentri il traffico su una partition key hot.

Come alzo il limite di throughput on-demand? Aumenta MaxReadRequestUnits/MaxWriteRequestUnits tramite UpdateTable, o imposta il valore a -1 per rimuovere il tuo tetto personalizzato — le quote dell'account si applicano comunque. Se hai bisogno di più delle 40.000 unità di richiesta predefinite per tabella, richiedi un aumento di quota.

Errori correlati

Riferimenti

Ultima verifica 2026-07-13 rispetto alla documentazione ufficiale AWS collegata sopra.

Lavora con DynamoDB senza la Console

Un client desktop veloce per DynamoDB che esegue il vero SQL che DynamoDB non può — JOINs, GROUP BY, aggregazioni — con modifica visuale e un agente AI sulle tue chiavi Bedrock.

Prova gratuita di 30 giorni, senza carta di credito — poi il piano Free senza limiti di tempo.