Métriques d'utilisation du processeur

Cette page décrit les métriques d'utilisation du processeur fournies par Cloud Spanner. Vous pouvez afficher ces métriques dans Google Cloud Console et dans la console Cloud Monitoring.

Utilisation du processeur et priorité des tâches

Cloud Spanner mesure l'utilisation du processeur en fonction de la source et de la priorité de la tâche.

  • Source: une tâche peut être lancée par l'utilisateur ou le système.

  • Priorité: la priorité permet à Cloud Spanner de déterminer les tâches à exécuter en premier. La priorité des tâches system est prédéterminée et ne peut pas être configurée. Sauf indication contraire, les tâches User sont à priorité élevée. De nombreuses demandes de données, telles que read et executeSql, vous permettent de spécifier une priorité inférieure. Cela peut être utile, par exemple, lorsque vous exécutez des requêtes par lot, de maintenance ou d'analyse qui ne présentent pas de SLO stricts aux performances.

    Les tâches à priorité élevée sont généralement exécutées avant celles de priorité inférieure, et Cloud Spanner permet aux tâches à priorité élevée d'utiliser jusqu'à 100% des ressources processeur disponibles, même en cas de concurrence plus faible.{101 } tâches prioritaires. Bien que les tâches système de priorité inférieure puissent être retardées à court terme, elles doivent être exécutées à terme. Par conséquent, vous devez provisionner suffisamment de nœuds pour votre instance afin de gérer l'ensemble des tâches.

    S'il n'y a pas de tâches à priorité élevée, Cloud Spanner utilisera jusqu'à 100% des ressources processeur disponibles pour traiter plus rapidement des tâches de priorité inférieure. Des pics d'utilisation en arrière-plan ne traduisent alors pas l'existence d'un problème. Les tâches de priorité inférieure peuvent se rapprocher presque instantanément des tâches à priorité élevée, y compris les tâches utilisateur.

Le tableau suivant présente des exemples pour chaque tâche:

Tâches utilisateur Tâches système
Priorité élevée

Inclut les demandes de données, telles que read ou executeSql, où aucune priorité n'est spécifiée ou PRIORITY_HIGH.

Inclut la répartition des données.

Priorité moyenne

Inclut :

  • Demandes de données pour lesquelles PRIORITY_MEDIUM est spécifié
  • Opérations de lecture et d'écriture émises à partir de tâches Dataflow (y compris Import/Export)
  • Inclut :

  • compactage de base de données
  • validation du changement de schéma
  • La phase d'optimisation de la restauration de base de données
  • Faible priorité

    Inclut les demandes de données pour lesquelles PRIORITY_LOW est spécifié.

    Inclut :

  • création d'une sauvegarde
  • remplissage d'un index
  • Métriques disponibles

    Cloud Spanner fournit les métriques d'utilisation du processeur suivantes :

    • Utilisation fluide du processeur: moyenne glissante de l'utilisation totale du processeur, exprimée en pourcentage des ressources de processeur de l'instance, pour chaque base de données. Chaque point de données correspond au taux d'utilisation moyen relevé pour les 24 heures précédentes. Utilisez cette métrique pour créer des alertes et analyser l'utilisation du processeur sur une longue période, par exemple 24 heures. Vous pouvez afficher un graphique pour cette métrique dans Cloud Console ou dans la console Cloud Monitoring en tant que moyenne glissante 24{101. } heure.

    • Utilisation du processeur par priorité: utilisation du processeur, exprimée en pourcentage des ressources de processeur de l'instance, regroupées par priorité, tâches exécutées par l'utilisateur et tâches lancées par le système. Utilisez cette métrique pour créer des alertes et analyser l'utilisation du processeur à un niveau élevé. Vous pouvez afficher un graphique pour cette métrique dans Cloud Console ou dans la console Cloud Monitoring.

    • Utilisation du processeur par type d'opération: l'utilisation du processeur, exprimée en pourcentage des ressources de processeur de l'instance, regroupée par opérations menées par l'utilisateur telles que les lectures, les écritures et les commits. Utilisez cette métrique pour obtenir une analyse détaillée de l'utilisation du processeur et pour résoudre les problèmes, comme expliqué dans la section Examiner l'utilisation élevée du processeur. Vous pouvez créer un graphique pour cette métrique dans la console Cloud Monitoring.

      Vous pouvez également utiliser la console Cloud Monitoring pour créer des alertes liées à l'utilisation du processeur, comme décrit ci-dessous.

    Le tableau ci-dessous présente nos recommandations pour une utilisation maximale du processeur avec les instances régionales et multirégionales. Les valeurs indiquées permettent de garantir que votre instance dispose d'une capacité de calcul suffisante pour continuer à diffuser votre trafic en cas de perte d'une zone entière (pour les instances régionales) ou d'une région entière (pour les instances multirégionales).

    Métrique Maximum pour les instances régionales Maximum par région pour les instances multirégionales
    Total priorité élevée 65 % 45 %
    Agrégation lissée sur 24 heures 90 % 90 %

    Pour ne pas dépasser les limites recommandées, créez dans Cloud Monitoring des alertes qui suivent l'utilisation du processeur par des tâches à priorité élevée et l'utilisation moyenne du processeur sur une période de 24 heures.

    L'utilisation du processeur peut avoir un impact sur les temps de latence des requêtes. La surcharge d'un serveur backend individuel entraînera en effet une latence plus élevée des requêtes. Les applications doivent procéder à des analyses comparatives et à une surveillance active afin de vérifier que Cloud Spanner répond à leurs besoins en termes de performances.

    Par conséquent, pour les applications sensibles aux performances, vous devrez peut-être réduire davantage l'utilisation du processeur à l'aide des techniques décrites dans la section suivante.

    Réduire l'utilisation du processeur

    Cette section explique comment réduire l'utilisation du processeur d'une instance.

    En règle générale, nous vous recommandons de commencer par ajouter des nœuds à votre instance. Une fois que vous aurez ajouté des nœuds, vous pourrez vous attacher à identifier et traiter la cause d'une utilisation intensive du processeur.

    Ajouter des nœuds

    Si vous dépassez les valeurs maximales recommandées en termes d'utilisation du processeur, nous vous conseillons vivement d'ajouter des nœuds à votre instance afin qu'elle puisse continuer à fonctionner efficacement. Si vous souhaitez automatiser ce processus, vous pouvez créer une application qui surveille l'utilisation du processeur, puis ajoute ou supprime des nœuds au besoin en utilisant la méthode UpdateInstance.

    Pour déterminer la quantité de nœuds dont vous avez besoin, tenez compte à la fois de l'utilisation maximale du processeur par les tâches à priorité élevée et de la moyenne lissée sur 24 heures. Allouez toujours suffisamment de nœuds pour que l'utilisation du processeur reste inférieure aux valeurs maximales recommandées. Comme décrit précédemment, vous devrez peut-être allouer des nœuds supplémentaires pour les applications sensibles aux performances (par exemple, pour gérer les pics de charge de travail).

    Si vous ne disposez pas de suffisamment de nœuds, Cloud Spanner reporte l'exécution des tâches suivant leur niveau de priorité. Les tâches système à faible priorité, telles que le compactage de base de données et la validation de modifications de schéma, peuvent être différées en faveur des tâches utilisateur. Cependant, ces tâches demeurent critiques pour l'état général de votre instance et Cloud Spanner ne peut pas les reporter indéfiniment. Si l'insuffisance des ressources de calcul ne permet pas à Cloud Spanner d'exécuter ses tâches système à faible priorité dans le délai imparti (dont l'ordre de grandeur varie de quelques heures à une journée), il peut augmenter la priorité de ces tâches. Cette modification affecte les performances des tâches utilisateur.

    Étudier davantage avec les outils d'introspection

    Si la métrique Utilisation du processeur par type d'opération indique qu'un type d'opération contribue à une utilisation intensive du processeur, utilisez les outils d'introspection de Cloud Spanner pour aller plus loin. Pour en savoir plus, consultez la page Examiner une utilisation élevée du processeur.

    Étape suivante