Trouver des points chauds dans votre base de données

Cette page explique comment utiliser le tableau de bord "Insights sur les points chauds" pour détecter les points chauds dans votre base de données Spanner.

Présentation des insights sur les hotspots

Les hotspots entraînent une latence dans votre base de données Spanner. Le tableau de bord "Insights sur les hotspots" vous aide à détecter les divisions affectées par les hotspots. Pour déterminer si des points d'accès sont à l'origine de la latence et, le cas échéant, comment résoudre le problème, procédez comme suit:

  1. Ouvrez le tableau de bord.
  2. Déterminez si les points d'accès nécessitent votre intervention.
  3. Identifier les divisions chaudes problématiques.

Les insights sur les points chauds sont disponibles dans les configurations régionales, multirégionales et birégionales.

Tarifs

Insights sur les points chauds n'entraîne aucun coût supplémentaire.

Conservation des données

La durée de conservation maximale des données pour le graphique et le tableau des insights sur les points d'intérêt est de six heures.

Pour la table des splits les plus populaires, les données sont extraites de la table SPANNER_SYS.SPLIT_STATS_TOP_MINUTE, qui a une durée de conservation maximale de six heures. Pour en savoir plus, consultez la section Conservation des données.

Rôles requis

Vous devrez peut-être disposer de rôles et d'autorisations IAM différents, selon que vous êtes un utilisateur IAM ou un utilisateur de contrôle d'accès précis.

Utilisateur Identity and Access Management (IAM)

Pour obtenir les autorisations nécessaires pour afficher la page Insights sur les points chauds, demandez à votre administrateur de vous accorder les rôles IAM suivants sur l'instance:

Les autorisations suivantes du rôle Lecteur de bases de données Cloud Spanner (roles/spanner.databaseReader) sont requises pour afficher la page Insights sur les points chauds:

  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.select
  • spanner.sessions.create

Utilisateur du contrôle précis des accès

Si vous utilisez le contrôle précis des accès, assurez-vous de:

  • disposer du Lecteur Cloud Spanner (roles/spanner.viewer) ;
  • disposent de droits de contrôle des accès ultraprécis et se voient attribuer le rôle système spanner_sys_reader ou l'un de ses rôles de membre ;
  • Sélectionnez spanner_sys_reader ou un rôle de membre comme rôle système actuel sur la page Vue d'ensemble de la base de données.

Pour en savoir plus, consultez la présentation du contrôle des accès précis et les rôles du système de contrôle des accès précis.

Ouvrir le tableau de bord "Insights sur les points d'accès"

Le tableau de bord Insights sur les points chauds affiche le pourcentage d'utilisation maximale du CPU pour la division. Cette métrique est un pourcentage abstrait compris entre 0 et 100 qui reflète la quantité de CPU utilisée lorsque les lignes d'une division sont consultées.

Pour afficher le tableau de bord Insights sur les hotspots d'une base de données, procédez comme suit:

  1. Dans la console Google Cloud, ouvrez la page Spanner.

    Accéder à Spanner

  2. Sélectionnez une instance dans la liste.

  3. Dans le menu de navigation, cliquez sur l'onglet Insights sur les points d'accès.

  4. Dans le champ database (Base de données), sélectionnez une base de données dans la liste. Le tableau de bord affiche le score maximal d'utilisation du CPU pour la division de la base de données.

Le tableau de bord comprend les sections suivantes :

  • Graphique Score maximal d'utilisation du CPU pour la division: un score d'utilisation du CPU plus élevé (par exemple, proche de 100) indique que la division est active et qu'elle est très susceptible de provoquer un hotspotting sur le serveur par rapport à des scores plus faibles.
  • Champ de base de données: permet de filtrer les informations sur les splits chauds sur une base de données spécifique ou sur toutes les bases de données.
  • Filtre de période: filtre les pics de l'utilisation du processeur par incréments de 1 minute jusqu'à un total de 6 heures.
  • Tableau des N premières divisions: affiche la liste des principales divisions triées par scores d'utilisation du CPU pour la division.

Tableau de bord des insights sur les hotspots

Déterminer si les points chauds nécessitent une intervention

Si vous constatez un pic ou une hausse dans le graphique qui correspond à la latence globale et à un score d'utilisation du processeur pour la division élevé et persistant, vous devrez peut-être examiner plus en détail.

Examinez le graphique pour répondre aux questions suivantes:

  • Quelle base de données subit la dégradation de la latence ? Sélectionnez différentes bases de données dans la liste Bases de données pour trouver celles avec la latence la plus élevée. Pour savoir quelle base de données a la charge la plus élevée, vous pouvez également consulter le graphique de latence pour les bases de données dans la console Google Cloud.

    Latence

  • La latence est-elle élevée ? La latence est-elle élevée par rapport à la latence attendue pour la charge de travail ? Le graphique a-t-il connu un pic ou augmenté au fil du temps ? Si vous ne constatez pas de latence élevée, les points d'accès ne posent pas de problème.

  • Le score d'utilisation du CPU pour la division est-il à 100%? Le graphique a-t-il connu un pic ou augmenté au fil du temps ? Si vous ne constatez pas de pics persistants de 100% de l'utilisation du processeur pendant au moins 10 minutes, les points chauds ne sont peut-être pas un problème. Si le pic de pourcentage d'utilisation du processeur fractionné est élevé pendant plus de 10 minutes, vous pouvez examiner plus en détail si la base de données présente des niveaux de latence supérieurs aux attentes.

Si vous constatez un pic d'utilisation du processeur de 100% pendant plus de 10 minutes, une intervention peut être nécessaire. Vous pouvez ensuite poursuivre le processus de débogage en identifiant les répartitions actives dans votre base de données.

Identifier les divisions chaudes problématiques

Pour identifier une répartition potentiellement problématique comportant des points chauds, consultez la section TopN splits (Répartitions TopN) de la console Google Cloud, comme illustré ci-dessous.

N principales divisions

Le tableau Divisions les plus populaires présente les divisions qui peuvent être populaires au cours de la période choisie, triées de la plus récente à la plus ancienne. Le nombre de divisions TopN est limité à 100.

Pour les graphiques, Spanner extrait les données de la table de statistiques sur les répartitions TopN, avec une précision d'une minute. La valeur de chaque point de données dans les graphiques représente la valeur moyenne sur un intervalle d'une minute.

Le tableau affiche les propriétés suivantes :

  • Fin de l'intervalle: date et heure de fin du pic d'utilisation du processeur.
  • Début de la division: clé de début de la plage de lignes dans la division. Si le début de la division est <begin>, il indique le début de la plage de clés de la base de données.
  • Limite de division: clé de limite de la plage de lignes dans la division. Si la clé de limite est <end>, elle indique la fin de la plage de clés de la base de données.
  • Score d'utilisation du CPU pour la division: score abstrait compris entre 0 et 100 reflétant la quantité de CPU utilisée par les accès aux lignes dans la division sur un seul serveur. Utilisez le score d'utilisation du CPU pour évaluer la présence de hotspotting.
  • Tables concernées: tables dont les lignes peuvent être dans la division.

Étape suivante