Statistiques relatives à l'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

Lorsque Cloud Spanner mesure l'utilisation du processeur, il organise les tâches dans les catégories suivantes :

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

Tâches lancées par votre application et gérées par Cloud Spanner avec une priorité élevée.

Cette catégorie inclut la plupart des requêtes de lecture et de commit. Elle inclut également certaines parties du travail lié aux écritures par lot, mais pas celui des lectures par lot.

Tâches lancées par Cloud Spanner, et qu'il gère avec une priorité élevée.

Cette catégorie inclut le remplissage d'un index et le fractionnement de données.

Faible priorité Tâches utilisateur à faible priorité Tâches système à faible priorité

Tâches lancées par votre application et qui ne nécessitent pas d'être traitées aussi rapidement que des tâches à priorité élevée.

Inclut les lectures et les écritures issues de tâches Dataflow (y compris Import/Export).

Tâches lancées par Cloud Spanner et qui ne nécessitent pas d'être traitées aussi rapidement que des tâches à priorité élevée.

Inclut le compactage de la base de données, la validation des modifications de schéma et la création de sauvegardes.

Les tâches à priorité élevée prennent automatiquement le pas sur les tâches à faible priorité. Si nécessaire, Cloud Spanner interrompt toutes les tâches à faible priorité et permet aux tâches prioritaires d'utiliser jusqu'à 100 % des ressources processeur disponibles. Bien que les tâches système à faible priorité puissent être retardées à court terme, elles doivent toutefois être exécutées à terme pour maintenir des performances optimales. Par conséquent, vous devez provisionner suffisamment de nœuds pour votre instance afin de gérer l'ensemble des tâches, quel que soit leur niveau de priorité.

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 moindre priorité. Des pics d'utilisation en arrière-plan ne traduisent alors pas l'existence d'un problème. Les tâches à faible priorité peuvent céder le pas presque instantanément aux tâches à priorité élevée, y compris les tâches utilisateur.

Métriques disponibles

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

  • Moyenne glissante sur 24 heures : 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.
  • Priorité élevée : l'utilisation du processeur, exprimée en pourcentage des ressources de processeur de l'instance, pour les tâches à priorité élevée.
  • Total : l'utilisation totale du processeur, exprimée en pourcentage des ressources de processeur de l'instance.

    Pour les instances, vous pouvez afficher l'utilisation totale du processeur par base de données ou par priorité de tâche.

    Pour les bases de données, vous pouvez afficher l'utilisation totale du processeur par priorité de tâche.

Vous pouvez consulter des graphiques pour ces métriques dans Cloud Console ou dans la console Cloud Monitoring. Vous pouvez également utiliser la console Cloud Monitoring pour créer des alertes en cas d'utilisation intensive 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.

Optimiser les performances des requêtes

Dans certains cas, une utilisation intensive du processeur de votre instance peut être imputable à des requêtes SQL qui ne sont pas aussi efficaces qu'elles pourraient l'être. Les métriques de requête concernant votre base de données peuvent vous permettre d'identifier les requêtes qui provoquent une utilisation intensive du processeur. Pour réduire l'utilisation du processeur, vous pourrez optimiser ces requêtes selon leurs plans de requête.

Étapes suivantes