Les opérations de lecture ou d'écriture de ma table Amazon DynamoDB sont limitées, ce qui entraîne des erreurs dans mes applications. Toutefois, Amazon CloudWatch indique que les unités de capacité consommées ne dépassent pas les unités de capacité allouées. Pourquoi cela se produit-il et comment puis-je résoudre le problème ?

En général, ces limitations surviennent lorsque vos applications en aval accèdent à une partition unique beaucoup plus souvent qu'à d'autres partitions (partition « à chaud »), ou lorsque les charges de travail se concentrent sur de courtes périodes avec une utilisation intense (« rafale » d'activités de lecture ou d'écriture).

Pour éviter les partitions à chaud et la limitation, vous devez optimiser votre structure de tables et de partitions. Pour plus d'informations et découvrir les stratégies d'optimisation, consultez Bonnes pratiques pour DynamoDB.

Envisagez l'une ou plusieurs des solutions suivantes :

  • Augmentez la capacité d'écriture ou de lecture de votre table afin d'anticiper les pics et les rafales intensives de courte durée au cours des opérations de lecture et d'écriture. Si vous décidez par la suite que vous n'avez pas besoin de cette capacité supplémentaire, réduisez-la.
    Remarque : Avant de choisir l'augmentation de capacité de lecture ou d'écriture à appliquer, prenez connaissance des bonnes pratiques dansConception des clés de partition de manière à répartir votre charge de travail équitablement.
  • Implémentez de nouvelles tentatives après erreur et des interruptions exponentielles. Cette technique utilise des temps d'attente progressivement plus longs entre les tentatives en cas de réponses d'erreur consécutives afin d'améliorer la fiabilité d'une application. Si vous utilisez un kit SDK AWS, cette logique est intégrée. Si vous utilisez un autre kit SDK, pensez à l'exécuter manuellement.
  • Distribuez vos opérations de lecture et d'écriture aussi uniformément que possible dans la table. Une partition « à chaud » peut réduire les performances globales de votre table.
  • Implémentez une solution de mise en cache comme DynamoDB Accelerator (DAX) ou Amazon ElastiCache. DAX est un service de mise en cache compatible avec DynamoDB proposant des performances en mémoire rapides pour votre application. Si la charge de travail comprend principalement des accès en lecture de données statiques, les résultats de requête sont souvent mieux servis à partir d'un cache bien conçu plutôt que d'une base de données.

La capacité adaptative s'active dans un délai de 5 à 30 minutes pour aider à limiter les problèmes de déséquilibre des charges de travail à court terme. Toutefois, chaque partition reste soumise à la limite en dur de 1000 unités de capacité d'écriture et 3000 unités de capacité d'écriture, la capacité adaptative ne peut donc pas résoudre les problèmes de taille supérieure de votre conception de table ou de partition.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 17/08/2016

Date de mise à jour : 18/12/2018