Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
4- Dépassement du débit maximal à la demande
Lorsque vous configurez une table ou un index secondaire global (GSI) à la demande, vous avez la possibilité de définir une limite de débit maximale (MaxReadRequestUnits et MaxWriteRequestUnits) au niveau de la table ou de l’index afin d’éviter que les coûts ne deviennent excessifs ou que les systèmes en aval ne soient submergés. Pour plus d’informations sur le débit maximal, consultez Débit maximal DynamoDB pour les tables à la demande.
Lorsque votre consommation en lecture ou en écriture dépasse ces limites que vous vous imposez vous-même, les demandes supplémentaires qui dépassent ces limites reçoivent des réponses de limitation rapides. DynamoDB renvoie des exceptions avec le type de raison de limitation MaxOnDemandThroughputExceeded, indiquant quelle ressource a atteint sa limite de débit.
Le débit maximal à la demande a dépassé la limitation
Cette section fournit des conseils pour résoudre les problèmes de limitation lorsque le débit maximal à la demande est dépassé. Avant d’utiliser ce guide, assurez-vous d’avoir identifié les raisons spécifiques de la limitation liées à la gestion des exceptions par votre application et d’avoir déterminé l’Amazon Resource Name (ARN) de la ressource concernée. Pour en savoir plus sur la façon de déterminer les raisons de la limitation et d’identifier des ressources limitées, consultez Cadre de diagnostic des limitations DynamoDB.
Avant de vous lancer dans des scénarios de limitation spécifiques, déterminez si une action est réellement nécessaire :
-
Évaluez vos paramètres de débit maximal : ces limites ont été configurées intentionnellement pour contrôler les coûts ou protéger les systèmes en aval. Si vous recevez des événements de limitation de type
MaxOnDemandThroughputExceeded, ces limites fonctionnent comme prévu. Déterminez si l’augmentation de ces limites correspond à vos objectifs initiaux de contrôle des coûts ou de protection des systèmes. -
Évaluez l’impact sur les applications : déterminez si la limitation cause réellement des problèmes à vos applications ou à vos utilisateurs. Si vos applications gèrent efficacement les nouvelles tentatives et répondent à leurs exigences de performances malgré des limitations occasionnelles, le maintien de vos limites actuelles peut être le choix approprié.
-
Passez en revue les modèles de trafic : déterminez si la limitation représente un modèle de trafic attendu ou un pic inhabituel. Pour les modèles de trafic prévisibles et récurrents qui dépassent constamment vos limites, il peut être justifié d’ajuster les paramètres de débit maximal. Pour les pics temporaires, il peut être plus approprié de mettre en œuvre de meilleures stratégies de distribution des demandes que d’augmenter les limites.
Si, après mûre réflexion, vous déterminez que vos paramètres de débit maximal doivent être ajustés, reportez-vous aux scénarios de limitation spécifiques ci-dessous pour déterminer les options de correction ciblées :
TableReadMaxOnDemandThroughputExceeded
Quand cela se produit
Votre table à la demande a dépassé sa capacité de débit de lecture maximale configurée. Vous pouvez surveiller les CloudWatch métriques Techniques courantes de diagnostic et de surveillance pour analyser votre événement de régulation.
Options de correction
Envisagez les étapes suivantes pour gérer les problèmes de limitation :
-
Augmentez la limite de débit maximal : utilisez la console DynamoDB
, l’AWS CLI ou l’API DynamoDB UpdateTablepour augmenter la valeurMaxReadRequestUnitspour la table concernée, puis surveillez ce qui se passe et procédez aux ajustements nécessaires. Cela permet à la table de gérer un débit de lecture plus élevé avant que la limitation ne se produise. -
Supprimez la limite maximale : définissez
MaxReadRequestUnitssur-1pour supprimer le plafond, afin de permettre une mise à l’échelle en fonction de la demande dans les limites de quotas de débit de votre compte. Cela supprime votre limite personnalisée tout en respectant les quotas définis au niveau du compte AWS. Cependant, il est important de surveiller les dépenses de près après avoir supprimé cette limite, car votre table peut désormais consommer beaucoup plus de capacité avant d’atteindre les quotas fixés au niveau du compte.
TableWriteMaxOnDemandThroughputExceeded
Quand cela se produit
Votre table à la demande a dépassé sa capacité de débit d’écriture maximale configurée. Vous pouvez surveiller les CloudWatch métriques Techniques courantes de diagnostic et de surveillance pour analyser votre événement de régulation.
Options de correction
Envisagez les étapes suivantes pour gérer les problèmes de limitation :
-
Augmentez la limite de débit maximal : utilisez la console DynamoDB
, l’AWS CLI ou l’API DynamoDB UpdateTablepour augmenter la valeurMaxWriteRequestUnitspour la table concernée, puis surveillez ce qui se passe et procédez aux ajustements nécessaires. -
Supprimez la limite maximale : définissez
MaxWriteRequestUnitssur-1pour supprimer le plafond, afin de permettre une mise à l’échelle en fonction de la demande dans les limites de quotas de débit de votre compte. Cela supprime votre limite personnalisée tout en respectant les quotas définis au niveau du compte AWS. Cependant, il est important de surveiller les dépenses de près après avoir supprimé cette limite, car votre table peut désormais consommer beaucoup plus de capacité avant d’atteindre les quotas fixés au niveau du compte.
IndexReadMaxOnDemandThroughputExceeded
Quand cela se produit
Les demandes de lecture adressées à un GSI en mode à la demande ont dépassé la capacité de débit de lecture maximale configurée pour les GSI. Vous pouvez surveiller les CloudWatch métriques Techniques courantes de diagnostic et de surveillance pour analyser votre événement de régulation.
Options de correction
Envisagez les étapes suivantes pour gérer les problèmes de limitation :
-
Augmentez la limite de débit maximal pour les GSI : utilisez la console DynamoDB
, l’AWS CLI ou l’API DynamoDB UpdateTablepour augmenter la valeurMaxReadRequestUnitspour le GSI concerné, puis surveillez ce qui se passe et procédez aux ajustements nécessaires. -
Supprimez la limite maximale pour les GSI : définissez
MaxReadRequestUnitssur-1pour supprimer le plafond pour les GSI, afin de permettre une mise à l’échelle en fonction de la demande dans les limites de quotas de débit de votre compte. Cela supprime votre limite personnalisée tout en maintenant les garanties au niveau AWS du compte. Toutefois, une fois que vous avez supprimé cette limite, il est important de suivre les dépenses de près.
IndexWriteMaxOnDemandThroughputExceeded
Quand cela se produit
Les mises à jour des éléments de la table de base déclenchent des écritures dans un GSI en mode à la demande. Comme elles dépassent la capacité de débit d’écriture maximale configurée pour les GSI, cela entraîne une limitation de contre-pression. Vous pouvez surveiller les CloudWatch métriques Techniques courantes de diagnostic et de surveillance pour analyser votre événement de régulation.
Options de correction
Envisagez les étapes suivantes pour gérer les problèmes de limitation :
-
Augmentez la limite de débit maximal pour les GSI : utilisez la console DynamoDB
, l’AWS CLI ou l’API DynamoDB UpdateTablepour augmenter la valeurMaxWriteRequestUnitspour le GSI concerné, puis surveillez ce qui se passe et procédez aux ajustements nécessaires. -
Supprimez la limite maximale pour les GSI : définissez
MaxWriteRequestUnitssur-1pour supprimer le plafond pour les GSI, afin de permettre une mise à l’échelle en fonction de la demande dans les limites de quotas de débit de votre compte. Cela supprime votre limite personnalisée tout en maintenant les garanties au niveau AWS du compte. Toutefois, une fois que vous avez supprimé cette limite, il est important de suivre les dépenses de près.
Techniques courantes de diagnostic et de surveillance
Lorsque le débit maximal à la demande est dépassé, plusieurs CloudWatch indicateurs peuvent aider à identifier la cause première et les modèles de dimensionnement.
CloudWatch Indicateurs essentiels
Surveillez ces métriques clés pour diagnostiquer le dépassement de la limitation par rapport au débit maximal à la demande :
-
Événements de limitation du débit maximal :
ReadMaxOnDemandThroughputThrottleEventsetWriteMaxOnDemandThroughputThrottleEventssuivent les demandes qui sont limitées en raison du dépassement des limites maximales.ReadThrottleEventsetWriteThrottleEventssuivent les demandes de lecture ou d’écriture qui dépassent la capacité allouée. -
Débit maximal actuel configuré pour une table ou un index secondaire global :
OnDemandMaxReadRequestUnitsetOnDemandMaxWriteRequestUnitsaffichent les limites de capacité maximale actuelles. -
Consommation de capacité réelle :
ConsumedReadCapacityUnitsetConsumedWriteCapacityUnitsaffichent les modèles d’utilisation réels.
Approche d’analyse
Suivez ces étapes pour confirmer le diagnostic de dépassement du débit maximal à la demande :
-
Comparez la capacité consommée aux limites de capacité maximale : vérifiez si la consommation se rapproche des limites maximales ou les dépasse régulièrement.
-
Passez en revue la fréquence et le calendrier des événements de limitation pour identifier des modèles récurrents. Identifiez toute augmentation soudaine de la capacité consommée qui coïnciderait avec votre événement de limitation.
-
Utilisez CloudWatch Contributor Insights pour identifier les éléments ou les clés de partition qui consomment le plus de capacité.