Mise à l’échelle dynamique (mise à l’échelle automatique par région et par partition)

S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table

La mise à l’échelle automatique par défaut d’Azure Cosmos DB met à l’échelle les charges de travail en fonction de la région et de la partition les plus actives. Pour les charges de travail non uniformes qui ont différents modèles de charges de travail entre les régions et les partitions, cette mise à l’échelle peut entraîner des scale-ups inutiles. Avec cette amélioration de la mise à l’échelle automatique, également connue sous le nom de « mise à l'échelle dynamique », la fonctionnalité de mise à l’échelle automatique par région et par partition permet désormais aux régions et aux partitions de vos charges de travail d’être mises à l’échelle indépendamment en fonction de l’utilisation.

La mise à l’échelle dynamique est recommandée pour les charges de travail de mise à l’échelle automatique qui ne sont pas uniformes entre les régions et les partitions. Cette fonctionnalité vous permet de réduire vos coûts si vous rencontrez souvent des partitions chaudes et/ou que vous avez plusieurs régions. Lorsqu’elle est activée, la mise à l’échelle dynamique s’applique à toutes les ressources de mise à l’échelle automatique du compte.

Cas d’utilisation

  • Charges de travail de bases de données qui ont une région primaire à trafic élevé et une région passive secondaire pour la récupération d’urgence.
    • Avec la mise à l’échelle dynamique, l’obtention de la haute disponibilité avec plusieurs régions est plus rentable. La région secondaire effectue un scale-down de manière indépendante et automatique lorsqu’elle est inactive. La région secondaire effectue également un scale-up de manière automatique lorsqu’elle devient active et lors de la gestion du trafic de la réplication d’écriture de la région primaire.
  • Charges de travail de bases de données multirégions.
    • Ces charges de travail affichent souvent une répartition inégale des requêtes entre les régions en raison de la croissance et des baisses naturelles du trafic tout au long de la journée. Par exemple, une base de données peut être active pendant les heures d’ouverture sur les fuseaux horaires répartis à l’échelle mondiale.

Exemple

Par exemple, si nous avons une collection avec 1 000 RU/s et 2 partitions, chaque partition peut atteindre jusqu’à 500 RU/s. Pendant une heure d’activité, l’utilisation ressemble à ceci :

Région Partition Débit Utilisation Notes
Écrire P1 < = 500 RU/s 100 % 500 RU/s composées de 50 RU/s utilisées pour les opérations d’écriture et 450 RU/s pour les opérations de lecture.
Écrire P2 < = 200 RU/s 40 %% 200 RU/s composées de toutes les opérations de lecture.
Lire P1 < = 150 RU/s 30 % 150 RU/s composées de 50 RU/s utilisées pour les écritures répliquées à partir de la région d’écriture. 100 RU/s sont utilisées pour les opérations de lecture dans cette région.
Lire P2 < = 50 RU/s 10 %

Étant donné que toutes les partitions sont mises à l’échelle uniformément en fonction de la partition la plus chaude, les régions d’écriture et de lecture sont mises à l’échelle à 1 000 RU/s, ce qui fait passer le nombre total de RU/s à 2 000 RU/s.

Avec la mise à l’échelle dynamique, vous pouvez optimiser votre débit. La consommation totale serait de 900 RU/s, car le débit de chaque partition ou région est mis à l’échelle indépendamment et mesuré par heure à l’aide du même scénario.

Surveillance de la mise à l’échelle automatique dynamique

Vous pouvez utiliser les métriques suivantes pour surveiller la mise à l’échelle automatique dynamique :

Nom de métrique Définition Utilisation de la métrique
RU mise à l’échelle automatiquement Affiche le débit provisionné à l’échelle dynamique à chaque niveau de partition et à chaque niveau de région uniquement pour les comptes avec mise à l’échelle automatique dynamique. Utilisez cette métrique pour voir comment les partitions de chaque région sont mises à l’échelle indépendamment en fonction de leur utilisation.

Utilisez les métriques Azure Monitor - Autoscaled RU pour analyser la façon dont la nouvelle mise à l’échelle automatique est appliquée entre les partitions et les régions. Filtrez selon le compte et le conteneur de base de données que vous souhaitez, puis filtrez ou fractionnez en fonction de la métrique Physical PartitionID. Cette métrique affiche toutes les partitions de leurs différentes régions.
Débit approvisionné Affiche les RU/s les plus élevées agrégées mises à l’échelle sur l’heure et représente le nombre total de RU/s mises à l’échelle pour l’heure. Vous pouvez utiliser la métrique Provisioned Throughput pour voir les RU/s pour lesquelles vous êtes facturé par heure. Avec la mise à l’échelle automatique dynamique, vous êtes facturé pour les RU/s les plus élevées agrégées par heure au niveau de chaque partition et région.
Consommation d’unités de requête normalisée Cette métrique représente le rapport entre Les RU/s consommées et les RU/s approvisionnées au niveau de chaque partition et région. Utilisez cette métrique pour déterminer si le débit maximal de mise à l’échelle automatique est sous ou surprovisionné.

Si la valeur de la métrique est constamment à 100 % et que votre application voit la limitation du débit (code d’erreur 429), vous avez peut-être besoin de plus de RU/s. En revanche, si la valeur de cette métrique est faible et qu’il n’y a pas de limitation de débit, il peut y avoir de la place pour optimiser et réduire le nombre de RU/s. En savoir plus sur l’interprétation et le débogage des erreurs de code 429 de limitation de débit.

La métrique Normalized RU Consumption reflète les RU/s consommées dans la région secondaire en raison du trafic de réplication en écriture à partir du serveur principal, en plus de tout trafic de lecture sur le serveur secondaire.

Démarrage

La mise à l’échelle dynamique est activée par défaut pour tous les comptes Azure Cosmos DB créés après le25 septembre 2024. Les clients qui souhaitent activer cette fonctionnalité pour leurs comptes plus anciens peuvent le faire par programmation via l’Azure PowerShell/CLI/l’API Rest ou à partir du volet fonctionnalités du portail Azure comme indiqué :

  1. Dans le portail Azure, accédez à votre compte Azure Cosmos DB.

  2. Accédez à la page Fonctionnalités.

  3. Recherchez et activez la fonctionnalité Mise à l’échelle dynamique (mise à l’échelle automatique par région et par partition).

    Capture d’écran de la fonctionnalité « Mise à l’échelle dynamique (mise à l’échelle automatique par région et par partition) » dans le portail Azure.

    Important

    La fonctionnalité est activée au niveau du compte. Par conséquent, elle s’applique à l’ensemble des conteneurs de mise à l’échelle automatique et des bases de données de débit partagé du compte. L’activation de cette fonctionnalité n’affecte pas les ressources du compte qui utilisent un débit manuel. Les ressources manuelles doivent être remplacées par la mise à l’échelle automatique pour tirer parti de la mise à l’échelle dynamique. L’activation de cette fonctionnalité ne présente aucun temps d’arrêt ni aucun impact sur les performances. Cette fonctionnalité n’est pas applicable aux comptes serverless.