Évaluation du mode de capacité de votre table DynamoDB - Amazon DynamoDB

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.

Évaluation du mode de capacité de votre table DynamoDB

Cette section explique comment sélectionner le mode de capacité approprié pour votre table DynamoDB. Chaque mode est réglé de façon à répondre aux besoins d’une charge de travail différente en termes de réactivité face à l’évolution du débit, ainsi que de facturation de cette utilisation. Vous devez tenir compte de ces facteurs lorsque vous prenez votre décision.

Quels sont les modes de capacité de table disponibles ?

Lorsque vous créez une table DynamoDB, vous devez sélectionner le mode de capacité à la demande ou de capacité provisionnée.

Vous pouvez faire passer les tables du mode de capacité provisionnée au mode à la demande jusqu’à quatre fois par période de 24 heures. Vous pouvez à tout moment faire passer des tables du mode à la demande au mode de capacité provisionnée.

Mode de capacité à la demande

Le mode de capacité à la demande est conçu pour éliminer la nécessité de planifier ou de provisionner la capacité de votre table DynamoDB. Dans le cadre de ce mode, votre table répondra instantanément aux demandes qui lui sont adressées sans qu’il soit nécessaire d’augmenter ou de réduire les ressources (jusqu’à deux fois le débit de pointe précédent de la table).

DynamoDB à la demande pay-per-request propose des tarifs pour les demandes de lecture et d'écriture afin que vous ne payiez que pour ce que vous utilisez.

Mode de capacité provisionnée

Le mode de capacité provisionnée est un modèle plus traditionnel dans le cadre duquel vous devez définir la capacité disponible de la table pour les demandes, soit directement, soit à l’aide de l’autoscaling. Dans la mesure où une capacité spécifique est mise en service pour la table à tout moment, la facturation est basée sur la capacité totale provisionnée plutôt que sur le nombre de demandes consommées. Le dépassement de la capacité provisionnée peut également entraîner le rejet des demandes par la table et réduire l’expérience des utilisateurs de vos applications.

Le mode de capacité provisionnée nécessite une surveillance constante pour trouver un équilibre entre le provisionnement excessif ou insuffisant de la table, afin de limiter les contraintes et de maîtriser les coûts.

Quand sélectionner le mode de capacité à la demande ?

Lors de l’optimisation des coûts, le mode à la demande est le meilleur choix lorsque vous avez une charge de travail similaire à celle des graphiques suivants.

Les facteurs suivants contribuent à ce type de charge de travail :

  • Schéma de trafic qui évolue au fil du temps

  • Volume variable des demandes (en raison des charges de travail par lots)

  • Caractère imprévisible des demandes (entraînant des pics de trafic)

  • Tombe à zéro ou en dessous de 30 % du pic à une heure donnée

Graphiques illustrant une charge de travail variable et imprévisible avec des pics et des périodes de faible activité. Graphiques illustrant une charge de travail variable et imprévisible avec des pics et des périodes de faible activité.

Pour les charges de travail présentant les facteurs ci-dessus, l’utilisation de l’autoscaling pour maintenir une capacité suffisante sur la table afin de répondre aux pics de trafic risque d’entraîner un provisionnement excessif de la table et un coût supérieur à ce qui est nécessaire, ou un provisionnement insuffisant de la table et une limitation inutile des demandes. Le mode de capacité à la demande est le meilleur choix, car il permet de gérer les fluctuations du trafic sans que vous ayez à prévoir ou à ajuster la capacité.

Grâce au modèle de pay-per-request tarification du mode à la demande, vous n'avez pas à vous soucier de la capacité inutilisée, car vous ne payez que pour le débit que vous utilisez réellement. Vous êtes facturé par demande de lecture ou d’écriture consommée, de sorte que vos coûts reflètent directement votre utilisation réelle. Cela permet d’équilibrer plus facilement les coûts et les performances. Vous pouvez également configurer le débit maximal de lecture ou d’écriture (ou les deux) par seconde pour les tables individuelles à la demande et les index secondaires globaux, afin de contenir les coûts et l’utilisation. Pour plus d’informations, consultez maximum throughput for on-demand tables.

Quand sélectionner le mode de capacité provisionnée ?

Une charge de travail idéale pour le mode de capacité provisionnée présente un modèle d’utilisation plus fiable et prévisible, comme le montre le graphique ci-dessous.

Note

Nous vous recommandons de passer en revue les indicateurs sur une période précise, par exemple 14 jours, avant de prendre des mesures sur votre capacité provisionnée.

Les facteurs suivants contribuent à ce type de charge de travail :

  • Trafic régulier, prévisible et cyclique pour une heure ou une journée donnée

  • Rafales de trafic limitées à court terme

Graphique illustrant une charge de travail cyclique prévisible avec des pics de trafic limités.

Étant donné que les volumes de trafic au cours d’une heure ou d’une journée donnée sont plus stables, vous pouvez définir la capacité provisionnée de la table relativement proche de la capacité réellement consommée de celle-ci. L’optimisation des coûts d’une table à capacité provisionnée consiste en fin de compte à rapprocher la capacité provisionnée (ligne bleue) de la capacité consommée (ligne orange) le plus possible sans augmenter les ThrottledRequests sur la table. L’espace entre les deux lignes est à la fois une perte de capacité et une assurance contre une mauvaise expérience utilisateur due aux limitations. Si vous pouvez prévoir les exigences de débit de votre application et que vous préférez la prévisibilité des coûts liée au contrôle de la capacité de lecture et d’écriture, vous pouvez continuer à utiliser des tables provisionnées.

DynamoDB fournit une mise à l’échelle automatique pour les tables à capacité provisionnée, ce qui créera automatiquement un équilibre. Cela vous permet de suivre votre capacité consommée tout au long de la journée et de définir la capacité de la table en fonction de différentes variables. Lorsque vous utilisez l’autoscaling, votre table sera surprovisionnée et vous devrez optimiser le ratio entre le nombre de limitations et le nombre d’unités de capacité surprovisionnées pour répondre aux besoins de votre charge de travail.

Console DynamoDB. La capacité allouée et l’autoscaling sont activés. L’objectif d’utilisation est fixé à 70.
Unités de capacité minimale

Vous pouvez définir la capacité minimale d’une table pour réduire les limitations, mais cela ne réduira pas le coût de la table. Si votre table connaît des périodes de faible utilisation suivies d’une soudaine augmentation de l’utilisation, la définition du minimum peut empêcher la mise à l’échelle automatique de définir la capacité de la table sur une valeur trop faible.

Unité de capacité maximale

Vous pouvez définir la capacité maximale d’une table afin de limiter la mise à l’échelle d’une table en utilisant une valeur supérieure à celle prévue. Envisagez d’appliquer une valeur maximale pour les tables de développement ou de test, car des tests de charge à grande échelle ne sont pas souhaitables dans ces conditions. Vous pouvez définir une valeur maximale pour n’importe quelle table, mais veillez à évaluer régulièrement ce paramètre par rapport à la ligne de base de la table lorsque vous l’utilisez en production afin d’éviter toute limitation accidentelle.

Utilisation cible

La définition de l’utilisation cible de la table est le principal moyen d’optimiser les coûts pour une table à capacité provisionnée. La définition d’une valeur de pourcentage inférieure ici augmentera le niveau de provisionnement excessif de la table, ce qui augmentera les coûts, mais réduira le risque de limitation. La définition d’une valeur de pourcentage plus élevée réduira le niveau de provisionnement excessif de la table, mais augmentera le risque de limitation.

Autres facteurs à prendre en compte lors du choix d’un mode de capacité de table

Lorsque vous choisissez entre les deux modes, certains facteurs supplémentaires méritent d’être pris en compte.

Utilisation de la capacité provisionnée

Pour déterminer dans quels cas le mode à la demande coûterait moins cher que la capacité allouée, il est utile d’examiner l’utilisation de votre capacité provisionnée, qui fait référence à l’efficacité avec laquelle les ressources allouées (ou « provisionnées ») sont utilisées. Le mode à la demande coûte moins cher pour les charges de travail dont l’utilisation moyenne de la capacité provisionnée est inférieure à 35 %. Dans de nombreux cas, même pour les charges de travail dont l’utilisation de la capacité provisionnée est supérieure à 35 %, il peut être plus rentable d’utiliser le mode à la demande, en particulier si la charge de travail présente des périodes de faible activité associées à des pics occasionnels.

Capacité réservée

Pour les tables à capacité provisionnée, DynamoDB offre la possibilité d’acheter de la capacité réservée pour votre capacité de lecture et d’écriture (les unités de capacité d’écriture répliquées (rWCU) et les tables Standard-IA ne sont pas éligibles pour l’instant). La capacité réservée offre des remises importantes par rapport à la tarification standard de la capacité provisionnée.

Lorsque vous choisissez entre les deux modes de table, considérez dans quelle mesure cette remise supplémentaire affectera le coût de la table. Dans certains cas, même une charge de travail relativement imprévisible peut être moins coûteuse à exécuter sur une table à capacité provisionnée et provisionnement excessif avec une capacité réservée.

Améliorer la prévisibilité de votre charge de travail

Dans certaines situations, une charge de travail peut sembler à la fois prévisible et imprévisible. Bien que cela puisse être facilement pris en charge par une table à la demande, les coûts seront probablement plus intéressants si les modèles imprévisibles de la charge de travail peuvent être améliorés.

L’une des raisons les plus courantes est l’importation par lots. Ce type de trafic peut souvent dépasser la capacité de base de la table à un point tel qu’une limitation se produirait si elle était exécutée. Pour qu’une charge de travail comme celle-ci soit exécutée sur une table à capacité provisionnée, considérez les options suivantes :

  • Si le traitement par lots se produit à des heures planifiées, vous pouvez planifier une augmentation de votre capacité de mise à l’échelle automatique avant son exécution

  • Si le traitement par lots se produit de manière aléatoire, pensez à essayer de prolonger sa durée d’exécution au lieu de l’exécuter le plus rapidement possible

  • Ajoutez une période d’accélération à l’importation pendant laquelle la vitesse de l’importation est faible au départ, mais augmente lentement en quelques minutes jusqu’à ce que l’autoscaling ait eu l’occasion de commencer à ajuster la capacité de la table