Statistiques relatives à l'utilisation du processeur

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

Utilisation du processeur et priorité des tâches

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 par le système.

  • Priorité: indique la priorité Spanner déterminent quelles tâches doivent être exécutées en premier. La priorité des tâches système est prédéterminée et ne peut pas être configurée. Les tâches utilisateur sont exécutées avec une priorité élevée, sauf indication contraire. De nombreuses requêtes de données, telles que read et executeSql, vous permettent de spécifier une priorité inférieure pour la requête. Cela peut être utile, par exemple, lorsque vous exécutez des requêtes par lot, des requêtes de maintenance ou des requêtes d'analyse, qui ne présentent pas de SLO stricts en termes de performances.

    Les tâches à priorité plus élevée sont généralement exécutées avant les tâches de priorité inférieure. Spanner permet aux tâches à priorité élevée utiliser jusqu'à 100% des ressources de processeur disponibles, même les tâches de priorité inférieure. Même si les tâches système à priorité inférieure peuvent être retardées à court terme, elles doivent finir par s'exécuter. Vous devez donc provisionner une instance disposant d'une capacité de calcul suffisante pour gérer toutes les tâches.

    S'il n'y a pas de tâches à priorité élevée, Spanner utilisera jusqu'à 100% des ressources CPU disponibles pour effectuer plus rapidement les 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 à faible priorité peuvent céder le pas presque instantanément aux tâches de priorité supérieure, 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, par exemple : lire ou executeSql, où aucune priorité PRIORITY_HIGH est spécifiée. Inclut la répartition des données.
Priorité moyenne Contenu de la boîte: <ph type="x-smartling-placeholder">
    </ph>
  • Demandes de données pour lesquelles PRIORITY_MEDIUM est spécifié
  • Les opérations de lecture et d'écriture émises à partir de jobs Dataflow, y compris Importer et Exporter :
Contenu de la boîte: <ph type="x-smartling-placeholder">
Priorité faible Inclut les demandes de renseignements pour lesquelles PRIORITY_LOW est spécifié. Contenu de la boîte: <ph type="x-smartling-placeholder">
    </ph>
  • Remplissage d'un index
  • Remplir une colonne générée

Métriques disponibles

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

  • Utilisation lissée 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 la console Google Cloud ou dans le console Cloud Monitoring avec un score de moyenne glissante de 24 heure.

  • Utilisation du processeur suivant le niveau de priorité : utilisation du processeur, exprimée en pourcentage des ressources de processeur de l'instance, regroupées par priorité, par tâches lancées par l'utilisateur et par 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 global. Vous pouvez afficher un graphique pour cette métrique dans la console Google Cloud ou dans la Console Cloud Monitoring.

  • Utilisation du processeur par type d'opération : utilisation du processeur, exprimée en pourcentage des ressources de processeur de l'instance, regroupées par opérations lancées par l'utilisateur telles que les lectures, les écritures et les commits. Utilisez cette métrique pour obtenir une répartition détaillée de l'utilisation du processeur et pour résoudre les problèmes, comme expliqué dans la section Enquêter sur une 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 relatives aux processeurs , comme décrit plus loin.

Le tableau suivant indique nos recommandations pour une utilisation maximale du processeur pour instances régionales, birégionales et multirégionales. Ces chiffres permettent de vérifier que votre instance dispose d'une capacité de calcul suffisante de continuer à diffuser votre trafic en cas de perte d'une zone entière (pour les instances régionales) ou une région entière (pour les instances birégionales et multirégionales) les instances de VM).

Métrique Maximum pour les instances régionales Maximum par région pour les instances birégionales et 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. Applications exécuter des analyses comparatives et une surveillance active pour vérifier que Spanner répond à ses exigences 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.

Utilisation du processeur supérieure à 100%

Dans certains cas, l'utilisation du processeur d'une instance Spanner peut atteindre supérieure à 100%. Cela signifie que l'instance utilise plus de ressources de processeur configuré pour l'instance.

Les ressources de processeur supérieures à 100% peuvent servir à fournir lors des pics d'utilisation du processeur, par exemple causés d'augmentation du trafic des requêtes.

Toute capacité de processeur supérieure à 100% n'est PAS garantie et ne doit pas être utilisée pour opérations de base de données normales.

Exécuter une instance Spanner à une utilisation proche ou supérieure de 100% du processeur une période prolongée peut nuire aux performances de fonctionnement normales et la latence. Les ressources CPU supplémentaires ne constituent pas un mécanisme sûr des performances constantes.

Les clients ne sont pas facturés pour cette utilisation supplémentaire du processeur.

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 augmenter la capacité de calcul de votre instance. Une fois que vous avez augmenté la capacité de calcul, vous pouvez examiner et traiter les causes premières d'une utilisation élevée du processeur.

Augmenter la capacité de calcul

Si vous dépassez les valeurs maximales recommandées en termes d'utilisation du processeur, nous vous conseillons vivement d'augmenter la capacité de calcul de l'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 augmente ou diminue la capacité de calcul en fonction des besoins à l'aide de la méthode UpdateInstance.

Pour déterminer la capacité de calcul 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 une capacité de calcul suffisante 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 de la capacité de calcul supplémentaire pour les applications sensibles aux performances (par exemple, pour gérer les pics de charge de travail).

Si vous ne disposez pas d'une capacité de calcul suffisante, Spanner reporte les tâches 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. Toutefois, ces tâches sont essentielles à l'état de l'instance, et Spanner ne peut pas différer indéfiniment. Si Spanner ne parvient pas à terminer son système à faible priorité des tâches au cours d'une certaine fenêtre de temps, de l'ordre de plusieurs heures à une journée, en raison de de ressources de calcul insuffisantes, Spanner peut augmenter la priorité les tâches du système. Cette modification affecte les performances des tâches utilisateur.

Enquêter davantage avec les outils d'introspection

Si la métrique Utilisation du processeur par type d'opération indique qu'un compte d'opération entraîne une utilisation élevée du processeur, utilisez la clé des outils d'introspection pour résoudre les problèmes. Pour en savoir plus, consultez la page Enquêter sur une utilisation élevée du processeur.

Étape suivante