Débit à la demande DynamoDB dépassé

En bref — Oui, les tables à la demande peuvent quand même être limitées. Les trois causes : tu as défini un débit maximal (MaxReadRequestUnits/MaxWriteRequestUnits) et l'as dépassé ; tu as généré plus du double de ton pic de trafic précédent en 30 minutes ; ou tu as atteint un quota au niveau de la table (par défaut 40 000 unités de requête en lecture et 40 000 unités de requête en écriture par table). Relève ou supprime le maximum, monte le trafic progressivement, et conserve des nouvelles tentatives à backoff exponentiel.

Ce que ça signifie

ThrottlingException: Rate of requests exceeds the allowed throughput.

Le mode à la demande monte en charge pour absorber le trafic, mais pas instantanément et pas sans plafonds. Les nouvelles tables à la demande soutiennent jusqu'à 4 000 écritures et 12 000 lectures par seconde immédiatement, et le mode à la demande absorbe instantanément jusqu'au double de ton pic de trafic précédent. Dépasser un maximum configuré, distancer ce doublement en 30 minutes, ou franchir un quota se manifestent tous par une limitation — ThrottlingException est un HTTP 400 réessayable, et l'erreur porte des champs ThrottlingReason (par ex. IndexWriteMaxOnDemandThroughputExceeded) nommant la ressource et la limite qui a été atteinte.

Pourquoi ça arrive

  • Un débit maximal configuré — tu as défini MaxReadRequestUnits/MaxWriteRequestUnits et la demande l'a franchi ; DynamoDB renvoie une ThrottlingException (c'est un plafond de contrôle des coûts que tu as choisi, appliqué au mieux).
  • Plus rapide que 2x le pic précédent — le mode à la demande absorbe instantanément jusqu'au double de ton pic précédent, mais une limitation peut survenir si tu dépasses le double de ce pic en 30 minutes.
  • Montée à froid — une table toute neuve (ou un chargement en masse juste après sa création) dépasse la base initiale de 4 000 écritures et 12 000 lectures par seconde.
  • Quota au niveau de la table — le plafond par défaut par table de 40 000 unités de requête en lecture et 40 000 unités de requête en écriture ; les dépassements de quota au niveau du compte se manifestent plutôt par RequestLimitExceeded.
  • Une partition chaude — du trafic concentré sur une seule clé de partition, qui a sa propre limite par partition quel que soit le mode de la table.

Comment le corriger

  1. Relève le maximum configuré — augmente MaxReadRequestUnits/MaxWriteRequestUnits via UpdateTable, ou fixe la valeur à -1 pour supprimer ton plafond personnalisé (les quotas de service s'appliquent toujours).
  2. Préchauffe avant un pic connu — utilise le paramètre de débit à chaud (warm throughput) de DynamoDB, ou étale la croissance du trafic sur au moins 30 minutes pour que le doublement du mode à la demande reste en avance sur la demande au lieu de courir après un changement brusque.
  3. Conserve des nouvelles tentatives à backoff exponentiel — le SDK réessaie les limitations par défaut ; utilise le mode de nouvelle tentative adaptatif pour les charges en rafales.
  4. Limite les imports en masse ou utilise la fonctionnalité d'import S3 au lieu de marteler une table neuve.
  5. Étale l'espace des clés pour qu'aucune clé de partition unique ne devienne chaude — une partition chaude limite même lorsque la table a de la marge.
  6. Demande une augmentation de quota si tu as légitimement besoin de plus de 40 000 unités de requête en lecture/écriture sur une table.

Tu cherches quelle clé absorbe les requêtes ? Parcours et filtre la table dans l'application de bureau DynoTable pour trouver la clé de partition chaude avant qu'elle ne plafonne ton débit.

FAQ

Une table DynamoDB à la demande peut-elle être limitée ? Oui. Les tables à la demande sont limitées lorsque tu dépasses un débit maximal configuré, génères plus du double de ton pic de trafic précédent avant que DynamoDB ait fini de monter en charge, franchis le quota par défaut par table de 40 000 unités de requête en lecture et 40 000 en écriture, ou concentres le trafic sur une clé de partition chaude.

Comment relever la limite de débit à la demande ? Augmente MaxReadRequestUnits/MaxWriteRequestUnits via UpdateTable, ou fixe la valeur à -1 pour supprimer ton plafond personnalisé — les quotas de compte s'appliquent toujours. Si tu as besoin de plus que les 40 000 unités de requête par défaut par table, demande une augmentation de quota.

Erreurs liées

Références

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Travaille avec DynamoDB sans la Console

Un client de bureau rapide pour DynamoDB qui exécute le vrai SQL que DynamoDB ne peut pas — JOINs, GROUP BY, agrégations — avec édition visuelle et un agent IA sur tes propres clés Bedrock.

Essai gratuit de 30 jours, sans carte bancaire — ensuite la formule Gratuit, sans limite de durée.