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ébit maximal à la demande dépassé
Lorsque vous configurez une table à la demande ou un GSI, vous pouvez éventuellement définir une limite de débit maximale (MaxReadRequestUnitset MaxWriteRequestUnits) au niveau de la table ou de l'index afin d'éviter l'emballement des coûts ou de protéger les systèmes en aval contre le débordement. Pour plus d'informations sur le débit maximal, consultezDébit maximal DynamoDB pour les tables à la demande.
Lorsque votre consommation de lecture ou d'écriture dépasse les limites que vous vous êtes vous-même fixées, les demandes supplémentaires susceptibles de dépasser cette limite reçoivent des réponses rapides. DynamoDB renvoie des exceptions avec MaxOnDemandThroughputExceeded un type de motif de limitation, 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 de résolution pour les scénarios de dépassement du débit maximal à la demande. 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é le nom de ressource Amazon (ARN) de la ressource affectée. Pour plus d'informations sur la recherche des raisons de la limitation et l'identification des ressources limitées, voir. Cadre de diagnostic de la limitation DynamoDB
Avant de vous lancer dans des scénarios d'étranglement spécifiques, déterminez d'abord 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
MaxOnDemandThroughputExceededlimitation, vos 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 du système. -
Évaluez l'impact des applications : déterminez si la régulation 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 ralentissements occasionnels, le maintien de vos limites actuelles peut être le choix approprié.
-
Passez en revue les modèles de trafic : déterminez si la régulation représente un schéma de trafic attendu ou un pic inhabituel. Pour des 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 connaître 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 Diagnostic et surveillance communs pour analyser votre événement de régulation.
Options de remédiation
Envisagez les étapes suivantes pour faire face à vos problèmes d'étranglement :
-
Augmenter la limite de débit maximale : utilisez la console DynamoDB
ou l'API UpdateTableDynamoDB pour augmenter la valeur de la table affectée AWS CLI, puis surveillez etMaxReadRequestUnitsajustez. Cela permet à votre table de gérer un débit de lecture plus élevé avant que le ralentissement ne se produise. -
Supprimer la limite maximale : configurez cette option
MaxReadRequestUnitspour supprimer le plafond,-1afin de permettre une mise à l'échelle en fonction de la demande jusqu'aux quotas de débit au niveau de votre compte. Cela supprime votre limite personnalisée tout en maintenant les garanties au niveau AWS du compte. 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 Diagnostic et surveillance communs pour analyser votre événement de régulation.
Options de remédiation
Envisagez les étapes suivantes pour faire face à vos problèmes d'étranglement :
-
Augmenter la limite de débit maximale : utilisez la console DynamoDB
ou l'API UpdateTableDynamoDB pour augmenter la valeur de la table affectée AWS CLI, puis surveillez etMaxWriteRequestUnitsajustez. -
Supprimer la limite maximale : configurez cette option
MaxWriteRequestUnitspour supprimer le plafond,-1afin de permettre une mise à l'échelle en fonction de la demande jusqu'aux quotas de débit au niveau de votre compte. Cela supprime votre limite personnalisée tout en maintenant les garanties au niveau AWS du compte. 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 du GSI. Vous pouvez surveiller les CloudWatch métriques Diagnostic et surveillance communs pour analyser votre événement de régulation.
Options de remédiation
Envisagez les étapes suivantes pour faire face à vos problèmes d'étranglement :
-
Augmenter la limite de débit maximale du GSI : utilisez la console DynamoDB AWS CLIou l'
UpdateTableAPI DynamoDBpour augmenter la MaxReadRequestUnitsvaleur du GSI concerné, puis surveillez et ajustez. -
Supprimer la limite maximale du GSI : configurez
MaxReadRequestUnits-1pour que le GSI supprime le plafond, ce qui permet une mise à l'échelle en fonction de la demande jusqu'aux quotas de débit au niveau de votre compte. Cela supprime votre limite personnalisée tout en maintenant les garanties au niveau AWS du compte. Cependant, il est important de surveiller les dépenses de près après avoir supprimé cette limite.
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 qui dépassent la capacité de débit d'écriture maximale configurée du GSI, ce qui entraîne un ralentissement de la contre-pression. Vous pouvez surveiller les CloudWatch métriques Diagnostic et surveillance communs pour analyser votre événement de régulation.
Options de remédiation
Envisagez les étapes suivantes pour faire face à vos problèmes d'étranglement :
-
Augmenter la limite de débit maximale du GSI : utilisez la console DynamoDB AWS CLIou l'
UpdateTableAPI DynamoDBpour augmenter la MaxWriteRequestUnitsvaleur du GSI concerné, puis surveillez et ajustez. -
Supprimer la limite maximale du GSI : configurez
MaxWriteRequestUnits-1pour que le GSI supprime le plafond, ce qui permet une mise à l'échelle en fonction de la demande jusqu'aux quotas de débit au niveau de votre compte. Cela supprime votre limite personnalisée tout en maintenant les garanties au niveau AWS du compte. Cependant, il est important de surveiller les dépenses de près après avoir supprimé cette limite.
Diagnostic et surveillance communs
Lorsque le débit maximal à la demande est dépassé, plusieurs CloudWatch indicateurs peuvent aider à identifier la cause première et à identifier les modèles de dimensionnement.
CloudWatch Indicateurs essentiels
Surveillez ces indicateurs clés pour diagnostiquer le dépassement du débit maximal à la demande par le débit maximal :
-
Événements de limitation du débit maximal :
ReadMaxOnDemandThroughputThrottleEventsetWriteMaxOnDemandThroughputThrottleEventssuivez les cas où les demandes sont limitées en raison du dépassement des limites maximales.ReadThrottleEventsetWriteThrottleEventssuivez 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 :
OnDemandMaxReadRequestUnitsetOnDemandMaxWriteRequestUnitsaffiche les limites de capacité maximale actuelles. -
Consommation de capacité réelle :
ConsumedReadCapacityUnitsetConsumedWriteCapacityUnitsaffiche les modèles d'utilisation réels.
Approche d'analyse
Suivez ces étapes pour confirmer le diagnostic du dépassement du débit maximal à la demande :
-
Comparez la capacité consommée aux limites de capacité maximale : vérifiez si la consommation approche ou dépasse régulièrement les limites maximales.
-
Passez en revue la fréquence et le calendrier des événements d'étranglement pour identifier les modèles. Surveillez les augmentations soudaines de la capacité consommée qui coïncident avec votre événement d'étranglement.
-
Utilisez CloudWatch Contributor Insights pour identifier les éléments ou les clés de partition qui consomment le plus de capacité.