Share Your AWS re:Post Experience - Quick 3 Question Survey
Help us improve AWS re:Post! We're interested in understanding how you use re:Post and its impact on your AWS journey. Please take a moment to complete our brief 3-question survey.
Pourquoi ma table provisionnée Amazon DynamoDB est-elle limitée ?
Les opérations de lecture ou d’écriture sur ma table provisionnée Amazon DynamoDB sont limitées. Ou bien, l’erreur suivante s’affiche lorsque j’effectue des opérations de lecture ou d’écriture sur ma table DynamoDB provisionnée : « ProvisionedThroughputExceedException ».
Brève description
Les scénarios courants suivants peuvent entraîner des problèmes de limitation sur votre table provisionnée DynamoDB :
- La capacité provisionnée de votre table DynamoDB est adéquate, mais la plupart des demandes sont limitées.
- Vous avez activé AWS Application Autoscaling pour DynamoDB, mais votre table DynamoDB est limitée.
- Vous avez une partition chaude dans votre table.
- Le trafic de votre table dépasse les quotas de débit de votre compte.
Résolution
Remarque : pour plus d’informations sur les métriques DynamoDB, telles que WriteThrottleEvents et ReadThrottleEvents, qui doivent être surveillées lors d’événements de limitation, consultez la section Mesures et dimensions DynamoDB.
En fonction de votre cas d’utilisation, effectuez les tâches suivantes.
La capacité provisionnée de votre table DynamoDB est adéquate, mais la plupart des demandes sont limitées
DynamoDB transmet des mesures par minute à Amazon CloudWatch. Les mesures sont calculées comme la somme pendant une minute, puis moyennées. Toutefois, les limites de débit de DynamoDB sont appliquées par seconde. Par exemple, si vous avez configuré 60 unités de capacité d’écriture pour votre table DynamoDB, vous pouvez effectuer 3 600 écritures en une minute. Cependant, le fait de gérer les 3 600 demandes en une seconde sans aucune demande pendant le reste de cette minute peut entraîner un ralentissement. Le nombre total d’unités de capacité de lecture ou d’unités de capacité d’écriture par minute peut être inférieur au débit provisionné pour la table. Cependant, si toute la charge de travail diminue en quelques secondes, les demandes peuvent être limitées.
Pour résoudre ce problème, assurez-vous que la capacité de votre table est suffisante pour répondre à votre trafic. Ensuite, utilisez le backoff exponentiel pour réessayer les requêtes limitées. Si vous utilisez le kit SDK AWS, cette logique est implémentée par défaut. Pour plus d’informations, consultez l’article Nouvelles tentatives après erreur et backoff exponentiel.
Remarque : DynamoDB ne commence pas à restreindre la table lorsque la capacité consommée par seconde dépasse la capacité provisionnée. Grâce à la fonctionnalité de capacité de débordement, DynamoDB réserve une partie de la capacité inutilisée pour les prochaines rafales de débit afin de gérer les pics d’utilisation. Pour plus d’informations, consultez les sections Mode de capacité provisionnée et Comment Amazon DynamoDB gère-t-il les charges excessives à de courts intervalles ?
Vous avez activé AWS Application Autoscaling pour DynamoDB, mais votre table DynamoDB est limitée
AWS Application Autoscaling n’est pas une solution adaptée pour faire face aux pics de trafic soudains liés aux tables DynamoDB. Application Autoscaling lance une mise à l’échelle lorsque deux points de données consécutifs pour les unités de capacité consommées dépassent la valeur d’utilisation configurée sur une période d’une minute. Application Autoscaling met à l'échelle automatiquement la capacité provisionnée uniquement lorsque la capacité consommée est supérieure à l’utilisation cible pendant deux minutes consécutives.
Un événement de réduction d’échelle est déclenché lorsque 15 points de données consécutifs dans CloudWatch relatifs à la capacité consommée sont inférieurs à l’utilisation cible. Une fois l’application Autoscaling lancée, un appel d’API UpdateTable est invoqué. L’appel d’API peut prendre quelques minutes pour mettre à jour la capacité provisionnée pour votre table ou index DynamoDB. L’application Autoscaling nécessite des points de données consécutifs avec des valeurs d’utilisation cibles plus élevées pour augmenter la capacité provisionnée de la table DynamoDB. Pendant cette période, toutes les demandes dépassant la capacité provisionnée de la table sont limitées. Il n’est pas recommandé d’utiliser Application Autoscaling pour gérer des charges de travail complexes dans DynamoDB. Passez plutôt en mode à la demande. Pour plus d’informations, consultez la section Gestion automatique de la capacité de débit avec la mise à l’échelle automatique de DynamoDB.
Vous avez une partition chaude dans votre table
Dans Dynamodb, une clé de partition dont la cardinalité n’est pas élevée peut donner lieu à de nombreuses requêtes qui ne ciblent que quelques partitions. Cet événement provoque une partition chaude. Une partition chaude peut provoquer un étranglement si les limites de partition de 3 000 RCU et 1 000 WCU (ou une combinaison des deux) par seconde sont dépassées.
Pour trouver les éléments les plus consultés et les plus limités de votre tableau, utilisez Amazon CloudWatch Contributor Insights. Amazon CloudWatch Contributor Insights est un outil de diagnostic qui fournit une vue résumée des tendances de trafic de vos tableaux DynamoDB. Utilisez cet outil pour identifier les clés de partition les plus fréquemment utilisées et pour surveiller en permanence les graphiques des modèles d’accès aux éléments de votre tableau.
Une partition chaude peut dégrader les performances générales de votre table. Pour éviter ces mauvaises performances, répartissez les opérations de lecture et d’écriture de la manière la plus uniforme possible sur votre tableau. Pour plus d’informations, consultez les sections Conception de clés de partition pour répartir votre charge de travail et Choix de la clé de partition DynamoDB appropriée.
Vous pouvez également implémenter le partitionnement en écriture sur la touche de raccourci pour augmenter la cardinalité et permettre à la touche de raccourci de couvrir plusieurs partitions. Pour en savoir plus, consultez la section Utilisation du partitionnement d'écriture pour une répartition équitable des charges de travail. Utilisez le backoff exponentiel pour réessayer les requêtes limitées. Si vous utilisez le kit SDK AWS, cette logique est implémentée par défaut. Pour plus d’informations, consultez l’article Nouvelles tentatives après erreur et backoff exponentiel.
Lorsque vous vous attendez à un trafic élevé, il est recommandé d'augmenter la capacité provisionnée à un niveau élevé. L’augmentation de la capacité provisionnée augmente le nombre de partitions dans le dorsal.
Remarque : si vous utilisez l’outil CloudWatch Contributor Insights pour DynamoDB, des frais supplémentaires vous seront facturés. Pour plus d’informations, consultez CloudWatch Contributor Insights pour la facturation de DynamoDB.
Le trafic de votre table dépasse les quotas de débit de votre compte
Les quotas de débit de lecture et d'écriture au niveau de la table sont appliqués au niveau du compte dans toutes les régions AWS. Ces quotas s’appliquent aux tables dotées à la fois du mode de capacité provisionnée et du mode de capacité à la demande. Par défaut, le quota de débit placé sur votre table est de 40 000 unités de demandes de lecture et de 40 000 unités de demandes d’écriture. Si le trafic vers votre table dépasse ce quota, il se peut que la table soit limitée.
Pour résoudre ce problème, utilisez la console Service Quotas pour augmenter les quotas de débit de lecture et d'écriture au niveau des tables pour votre compte.
Informations connexes
Meilleures pratiques pour concevoir et utiliser efficacement les clés de partition

Contenus pertinents
- demandé il y a 2 anslg...
- demandé il y a 9 moislg...
- demandé il y a un anlg...
- demandé il y a 2 anslg...
- AWS OFFICIELA mis à jour il y a 9 mois
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 8 mois
- AWS OFFICIELA mis à jour il y a 6 mois