Autoscaler géré

Cette page décrit le fonctionnement de l'autoscaler géré, les coûts des limites lors de l'utilisation de l'autoscaler géré. Il fournit également des informations à vous aider à déterminer comment configurer l'autoscaler géré.

Fonctionnement de l'autoscaler géré

Lorsque vous activez l'autoscaler géré, Spanner ajuste automatiquement la de votre instance. La fonctionnalité d'autoscaler géré réagit aux modifications en fonction de la charge de travail ou des besoins de stockage de votre instance, à mesure que votre charge augmente ou diminue. L'autoscaling géré augmente la capacité de calcul de l'instance ou la réduit.

Lorsque vous configurez l'autoscaler géré, vous pouvez utiliser l'une ou l'autre des unités de traitement les petites instances ou les nœuds pour les grandes instances. Dans ce document, nous utilisons le terme capacité de calcul pour désigner les nœuds ou les unités de traitement.

L'autoscaler géré Spanner détermine la quantité de ressources de calcul est requise en fonction des éléments suivants:

  • Objectif d'utilisation du processeur à haute priorité
  • Objectif d'utilisation du stockage
  • Limite minimale
  • Limite maximale

Chaque dimension de scaling génère une taille d'instance recommandée, et Spanner utilise automatiquement la valeur la plus élevée. Cela signifie, par exemple, que si votre instance a besoin de 10 nœuds pour atteindre votre objectif d'utilisation du stockage, mais de 12 nœuds pour atteindre votre objectif d'utilisation du processeur, Spanner la redimensionne à 12 nœuds.

À mesure que la quantité de capacité de calcul change, Spanner optimise le stockage. Il rééquilibre les données entre tous les serveurs pour garantir que le trafic est réparti uniformément et qu'aucun serveur individuel n'est surchargé. Pour en savoir plus, consultez la section Limites.

Si l'autoscaler géré fait évoluer une instance jusqu'à sa limite maximale, mais que charge de travail entraîne toujours une utilisation du processeur plus élevée que la cible, les requêtes de charge de travail peuvent avoir la latence ou échouer. Si une instance effectue un scaling à la hausse jusqu'à atteindre son objectif de capacité de calcul maximale mais que la charge de travail nécessite plus d'espace que la limite de stockage maximale, écrivez requêtes peuvent échouer. Pour savoir si l'objectif maximal est atteint, vous pouvez consulter les journaux des événements système de l'autoscaler géré dans la console Google Cloud Page Insights sur le système. Pour en savoir plus, consultez limites de stockage.

Lorsque Spanner effectue un scaling à la baisse d'une instance, il supprime la capacité de calcul plus lentement que lors d'un scaling à la hausse, afin de réduire tout impact sur la latence.

Coûts

Vos coûts Spanner totaux peuvent être inférieurs ou supérieurs, en fonction de la façon dont vous avez configuré votre instance Spanner avant d'activer l'autoscaler géré et des limites que vous avez définies pour l'autoscaler géré.

Par exemple, si vous aviez l'habitude de configurer manuellement une capacité de calcul suffisante pour gérer les pics de charge à tout moment, vos coûts peuvent être plus faibles avec l'autoscaler géré, car il réduit la capacité de calcul lorsque l'instance est inactive.

Si vous aviez l'habitude de configurer manuellement votre instance Spanner capacité de calcul suffisante pour les charges de travail moyennes et les performances globales se dégradent lorsque le trafic de votre charge de travail augmente, vos coûts avec l'autoscaler géré peut être supérieur, car l'autoscaler géré peut augmenter la capacité de calcul lorsque l'instance est occupée. Cela permet toutefois à vos utilisateurs des performances constantes.

Vous pouvez limiter le coût maximal de votre instance Spanner en définissant la limite maximale de nœuds ou d'unités de traitement au niveau que vous souhaitez dépenser.

Limites

Les limites suivantes s'appliquent lorsque vous activez ou modifiez la fonctionnalité d'autoscaling géré sur une instance :

  • Vous ne pouvez pas déplacer une instance lorsque le la fonctionnalité d'autoscaler géré est activée. Vous devez d'abord désactiver l'autoscaler géré, puis déplacer l'instance. Après avoir déplacé l'instance, vous pouvez réactiver l'autoscaler géré.
  • Vous devez définir la limite minimale de l'instance d'autoscaling sur 1 000 unités de traitement minimum ou plus, ou 1 nœud ou plus.
  • Lorsque vous activez l'autoscaling sur une instance existante, l'instance existante la capacité peut être inférieure à la valeur limite minimale configurer sur l'autoscaler géré. Cependant, l'instance effectue automatiquement un scaling à la hausse jusqu'à la valeur minimale configurée lorsque vous le démarrez. Par exemple, si l'instance comporte un nœud, mais que vous définissez la valeur minimale sur deux nœuds. Lorsque vous démarrez votre instance, effectue un scaling automatique jusqu'à 2 nœuds.

Paramètres de l'autoscaler géré

Lorsque vous créez ou modifiez une instance et que vous choisissez d'activer l'autoscaler géré, vous définissez les valeurs indiquées dans le tableau suivant.

Paramètre Description
Objectif d'utilisation du processeur à haute priorité Pourcentage de la capacité de processeur à priorité élevée de l'instance. Cette valeur doit être comprise entre 10% et 90%. Lorsque l'utilisation du processeur d'une instance dépasse la cible que vous avez définie, Spanner ajoute immédiatement de la capacité de l'instance. Lorsque l'utilisation du processeur est nettement inférieure la cible, Spanner supprime de la capacité de calcul. Pour plus d'informations, voir Déterminez l'objectif d'utilisation du processeur.
Objectif d'utilisation du stockage Le pourcentage de stockage sur un nœud que vous pouvez utiliser avant Spanner effectue un scaling à la hausse. Cet objectif garantit que vous disposez toujours une capacité de calcul suffisante pour gérer les fluctuations de la quantité de données que vous stockez. Cette valeur doit être comprise entre 10 et 99 %. Pour en savoir plus, consultez Déterminez l'objectif d'utilisation du stockage.
Limite minimale La plus petite capacité de calcul Spanner effectue un scaling à la baisse de l'instance. La valeur minimale ne peut pas être inférieure à 10% de la valeur définie pour la limite maximale. Par exemple, Si la limite maximale est de 40 nœuds, la limite minimale doit être d'au moins 4 nœuds. La limite de 10 % est une limite stricte. Pour consultez la section Déterminer la limite minimale.
Limite maximale La plus grande capacité de calcul pouvant faire l'objet d'un scaling Spanner l'état de l'instance. Pour les nœuds, cette valeur doit être supérieure à 1 nœud (ou 1 000 unités de traitement) et égale ou supérieure au nombre minimal nœuds ou unités de traitement. La valeur ne peut pas être plus de 10 fois que vous choisissez pour la capacité de calcul minimale. Ces 10 de temps est une limite stricte. Pour en savoir plus, consultez la section Déterminer la limite maximale.

Configurer l'autoscaler géré

Cette section explique comment déterminer les numéros à sélectionner pour vos comptes paramètres de l'autoscaler. Après avoir défini vos valeurs initiales, surveillez votre instance et ajustez les valeurs si nécessaire.

Déterminer l'objectif d'utilisation du processeur

La cible optimale pour votre instance dépend de la latence et du débit les exigences de votre charge de travail. Pour afficher nos recommandations concernant l'utilisation maximale du processeur : pour connaître les configurations d'instances régionales, birégionales et multirégionales, consultez Alertes en cas d'utilisation intensive du processeur

En général, si vous constatez une latence inacceptable, vous devez réduire la cible d'utilisation du processeur.

Déterminer l'objectif d'utilisation du stockage

Pour l'autoscaling, l'objectif d'utilisation du stockage est exprimé en pourcentage d'un nœud. Pour les instances comportant 1 nœud (1 000 unités de traitement) et plus, l'espace de stockage est limitée à 4 To par nœud.

Déterminer la limite maximale

La valeur que vous choisissez comme quantité maximale de capacité de calcul est égale à la capacité de calcul nécessaire à l'instance pour gérer le trafic le plus dense, même si vous ne prévoyez pas d'atteindre ce volume en temps réel. Spanner n'augmente jamais la capacité de calcul à la hausse. besoins. Vous pouvez aussi considérer ce nombre comme la plus grande quantité de ressources de calcul pour laquelle vous êtes prêt à payer. Voir Paramètres de l'autoscaler pour en savoir plus sur les valeurs acceptées

La limite maximale doit permettre à la fois l'objectif d'utilisation du processeur et le l'objectif d'utilisation du stockage que vous définissez pour l'autoscaling.

  • Si vous passez d'une allocation manuelle à une instance gérée l'autoscaling, de trouver la capacité de calcul la plus élevée que l'instance au cours des deux derniers mois. La limite maximale de votre autoscaler géré doit être au moins aussi élevée.

  • Si vous activez l'autoscaler géré pour une nouvelle instance, examinez les métriques d'autres instances et de les utiliser comme guide lorsque vous définissez limite maximale.

  • Si vous avez une nouvelle charge de travail et que vous ne savez pas comment elle va évoluer, vous pouvez estimer la capacité de calcul nécessaire pour atteindre l'objectif d'utilisation du stockage intégré, puis ajuster la valeur par la suite.

Vous devez également connaître le quota restant sur votre nœud, car l'autoscaler géré ne peut pas configurer votre instance pour augmenter la capacité de calcul que votre quota. Pour en savoir plus, consultez la section Limites de nœuds.

Une fois l'instance opérationnelle et l'autoscaling activé, surveiller l'instance et vérifier que la valeur choisie pour le paramètre La limite maximale doit être au moins égale à la limite recommandée pour le processeur cible et la limite recommandée pour la cible de stockage.

Déterminer la limite minimale

Vous définissez une limite minimale pour l'autoscaler géré afin de vous assurer que votre instance Spanner peut effectuer un scaling à la baisse jusqu'à la taille la plus petite et la plus rentable. Spanner empêche automatiquement le nœud passer en dessous du minimum requis pour maintenir le processeur et l'espace de stockage objectifs d'utilisation.

La valeur minimale la plus faible autorisée par l'autoscaler géré est de 1 nœud ou de 1 000 unités de traitement. Lorsque vous activez l'autoscaling pour une instance existante d'une capacité inférieure à la valeur minimale configurée pour l'autoscaler géré, automatiquement à la hausse jusqu'à ce minimum lorsque vous la démarrez.

Après avoir démarré l'instance avec autoscaling géré, vous devez effectuer une test initial pour vérifier qu'il fonctionne avec la taille minimale définie. Vous devez tester périodiquement pour s’assurer qu’il continue à fonctionner comme prévu.

Pour en savoir plus sur les valeurs acceptées, consultez Paramètres de l'autoscaler géré dans ce document.

Dans de nombreux cas, vous souhaiterez définir la valeur minimale sur plusieurs valeurs. Sélectionnez un ou augmentez la limite minimale dans les cas suivants:

  • Il y a un événement d'échelle de pic d'activité à venir, alors que votre trafic devrait augmenter temporairement et que vous voulez vous assurer que vos ressources de calcul capacité.
  • Votre application envoie du trafic. Lorsque vous ajoutez de la capacité de calcul, Spanner se rééquilibre automatiquement pour utiliser les nouveaux nœuds unités de traitement. Comme ce processus peut prendre plusieurs minutes, vous pouvez envisagez d'adopter une approche prudente et de choisir minimum. De cette façon, votre instance peut s'adapter parfaitement aux pics.
  • Vous augmentez la capacité de calcul maximale. La valeur minimale doit toujours être de 10 ou moins de l'objectif de capacité de calcul maximale. Par exemple, si vous définissez le nombre maximal de nœuds sur 30, vous devez définir le nombre minimal de les nœuds à 3 au minimum.

Si vous augmentez la valeur de la capacité de calcul minimale sur une instance, Spanner tente immédiatement d'effectuer un scaling de l'instance minimum. Les contraintes standards s'appliquent. Lorsque vous dépassez votre quota, votre demande de modification de l'autoscaler géré la configuration échoue et la configuration n'est pas mise à jour.

Options et limites des paramètres de la Google Cloud CLI

Lorsque vous configurez l'autoscaler géré à l'aide de la Google Cloud CLI, vous devez que vous devez définir. Vous pouvez utiliser des options facultatives si vous voulez utiliser des nœuds ou des unités de traitement. Pour en savoir plus sur la création d'une instance avec l'autoscaler géré ou l'activation de l'autoscaling géré sur une instance existante, consultez les pages suivantes :

Les options suivantes sont requises lorsque vous activez l'autoscaler géré sur votre instance:

  • autoscaling-high-priority-cpu-percent
  • autoscaling-storage-percent

Si vous choisissez d'utiliser des nœuds, vous devez également utiliser les deux options suivantes lorsque vous activez l'autoscaler géré:

  • autoscaling-min-nodes
  • autoscaling-max-nodes

Si vous choisissez d'utiliser des unités de traitement, vous devez également utiliser les deux lorsque vous activez l'autoscaler géré:

  • autoscaling-min-processing-units
  • autoscaling-max-processing-units

Les limites suivantes s'appliquent lors de l'ajout de l'autoscaler géré à un instance existante à l'aide de la Google Cloud CLI:

  • Vous ne pouvez pas utiliser l'option --nodes avec l'élément --autoscaling-min-nodes ou --autoscaling-max-nodes, car l'utilisation de --nodes définit un de nœuds plutôt qu'une plage de scaling. De même, vous ne pouvez pas utiliser la méthode l'option --processing-units avec la commande autoscaling-min-processing-units ou autoscaling-max-processing-units, car l'utilisation de --processing-units définit un nombre spécifique d'unités de traitement qu'une plage de scaling.
  • Vous ne pouvez pas combiner les indicateurs pour les nœuds et les unités de traitement. Pour Par exemple, vous ne pouvez pas utiliser --autoscaling-max-nodes avec autoscaling-min-processing-units

Ajuster vos paramètres

Surveillez votre utilisation de la capacité de calcul et ajustez vos paramètres, si est nécessaire, surtout après l'activation initiale de l'autoscaler géré. Nous vous recommandons à l'aide de la page System Insights (Insights sur le système) console Google Cloud.

Contrôle des accès

Pour configurer l'autoscaler géré, vous devez être un compte principal disposant d'un rôle créer et mettre à jour les autorisations pour l'instance que vous configurez.

Surveillance

Spanner fournit plusieurs métriques pour vous aider à comprendre l'autoscaler géré effectue un scaling à la hausse ou à la baisse pour atteindre les exigences de la charge de travail. Les métriques peuvent aussi vous aider à évaluer si vos paramètres sont optimales pour répondre aux exigences en termes de charge de travail et de coûts de votre entreprise. Par exemple, si vous constatez que le nombre de nœuds d'une instance est souvent proche du maximum de nœuds, envisagez d'augmenter le nombre maximal. Pour en savoir plus sur des ressources Spanner, consultez Surveiller des instances avec Cloud Monitoring

Les métriques suivantes sont dans les graphiques de l'onglet System Insights (Insights système) de la console Google Cloud. Vous pouvez également afficher ces métriques Cloud Monitoring :

  • spanner.googleapis.com/instance/autoscaling/min_node_count
  • spanner.googleapis.com/instance/autoscaling/max_node_count
  • spanner.googleapis.com/instance/autoscaling/min_processing_units
  • spanner.googleapis.com/instance/autoscaling/max_processing_units
  • spanner.googleapis.com/instance/autoscaling/high_priority_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/storage_target_utilization

Journalisation

Spanner crée un journal d'audit des événements système chaque fois qu'il effectue le scaling d'une Compute Engine.

Vous pouvez afficher les journaux des événements système de l'autoscaler géré dans la section Console Google Cloud sur la page Insights sur le système.

Vous pouvez également afficher les journaux à l'aide de l'explorateur de journaux:

  1. Dans la console Google Cloud, ouvrez l'explorateur de journaux:

    Accéder à l'explorateur de journaux

  2. Sélectionnez le projet Google Cloud approprié.

  3. Dans le champ Requête, saisissez ce qui suit :

     protoPayload.methodName="AutoscaleInstance"
    

    Vous pouvez ajouter la requête suivante pour filtrer davantage les journaux:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/span-cloud-testing/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstance"
  4. Cliquez sur Exécuter la requête.

Le volet Résultats de la requête affiche les journaux de la dernière heure.

Pour en savoir plus sur l'affichage des journaux, consultez la page Cloud Logging. Vous pouvez configurer des alertes basées sur les journaux. depuis la page Explorateur de journaux de Google Cloud ou à l'aide de la classe API Cloud Monitoring :

Étape suivante