Présentation des outils d'introspection

Les outils d'introspection pour Spanner vous permettent d'examiner les problèmes liés à votre base de données. Ils se composent d'un ensemble de tables intégrées que vous pouvez interroger afin d'obtenir plus d'informations sur les requêtes, transactions, lectures, etc. Vous ne savez pas quel outil utiliser pour un problème particulier ? La liste suivante résume chaque outil et le type de questions auxquelles ils peuvent répondre.

Statistiques des requêtes

Lorsque vous examinez des problèmes dans votre base de données, il est utile de savoir quelles requêtes sont coûteuses, exécutées fréquemment ou qui analysent de nombreuses données.

Les statistiques sur les requêtes sont des statistiques agrégées pour les requêtes (y compris les instructions LMD et les requêtes de flux de modifications), collectées en intervalles de 1, 10 et 60 minutes. Les statistiques sont collectées pour les instructions qui ont abouti, ainsi que celles qui ont échoué, ont expiré ou ont été annulées par l'utilisateur.

Ces statistiques comprennent l'utilisation la plus élevée du processeur, le nombre total d'exécutions de requêtes, la latence moyenne, la plupart des données analysées et d'autres statistiques de requête de base. Utilisez ces statistiques afin d'identifier les requêtes coûteuses, fréquemment exécutées ou qui analysent de nombreuses données.

Vous pouvez visualiser ces métriques sur une série temporelle à l'aide des tableaux de bord Insights sur les requêtes. Ces tableaux de bord prédéfinis vous aident à visualiser les pics d'utilisation du processeur et à identifier les requêtes inefficaces.

Requêtes actives les plus anciennes

Vous pouvez parfois avoir besoin d'afficher la charge de travail actuelle du système en examinant les requêtes en cours d'exécution. Utilisez l'outil Requêtes actives les plus anciennes pour examiner les requêtes de longue durée susceptibles d'avoir un impact sur les performances de la base de données. Cet outil vous indique ce que sont les requêtes, à quel moment elles ont commencé à s'exécuter et à quelle session elles appartiennent.

Les requêtes de flux de modifications ne sont pas incluses dans les requêtes actives les plus anciennes.

Lire les statistiques

Les statistiques de lecture permettent d'examiner les lectures les plus courantes et les plus gourmandes en ressources sur votre base de données à l'aide de l'API Reads de Spanner. Ces statistiques sont collectées et stockées dans trois intervalles de temps différents : une minute, 10 minutes et une heure. Pour chaque intervalle de temps, Spanner suit les lectures qui utilisent le plus de ressources.

Utilisez les statistiques de lecture pour connaître l'utilisation combinée des ressources par toutes les lectures, identifier les lectures consommant le plus de processeurs et découvrir comment la fréquence d'une lecture spécifique évolue au fil du temps.

Statistiques de transaction

Les statistiques de transaction peuvent servir à examiner les problèmes liés aux transactions. Par exemple, vous pouvez rechercher des transactions lentes qui peuvent causer un conflit ou identifier des modifications dans les formes de transaction qui entraînent des régressions de performances. Chaque ligne contient les statistiques de toutes les transactions exécutées sur la base de données selon des intervalles de 1, 10 et 60 minutes.

Vous pouvez visualiser ces métriques sur une série temporelle à l'aide du tableau de bord Informations sur les transactions. Le tableau de bord prédéfini vous aide à visualiser les latences des transactions et à identifier les transactions problématiques.

Statistiques de verrouillage

Les statistiques de verrou peuvent être utilisées pour examiner les conflits de verrouillage dans votre base de données. Utilisé avec les statistiques de transactions, vous pouvez identifier les transactions qui entraînent des conflits de verrous en essayant d'acquérir des verrous sur les mêmes cellules en même temps.

Vous pouvez visualiser ces métriques sur une série temporelle à l'aide du tableau de bord Verrouiller les insights. Le tableau de bord prédéfini vous aide à afficher le temps d'attente pour le verrouillage et à confirmer si les latences sont dues à des conflits de verrouillage avec un temps d'attente de verrouillage élevé.

Méthodes d'API incluses dans chaque outil

Dans Spanner, les transactions, les lectures et les requêtes se chevauchent. Par conséquent, il peut être difficile de déterminer les méthodes d'API incluses lors de la compilation des résultats pour chaque outil d'introspection. Le tableau suivant répertorie les principales méthodes de l'API et leur relation à chaque outil.

Méthodes d'API Modes de transaction Statistiques des requêtes Requêtes actives les plus anciennes Lire les statistiques Statistiques de transaction Statistiques de verrouillage
Lecture, StreamingRead Transaction en lecture seule1 Non Non Oui Non Non
Transaction en lecture-écriture Non Non Oui Oui Oui
ExecuteSql et ExecuteStreamingSql Transaction en lecture seule1 Oui2 Oui2 Non Non Non
Transaction en lecture-écriture Oui Oui Non Oui Oui
ExecuteBatchDml Transactions en lecture-écriture Oui3 Oui4 Non Oui Oui
Commit Transactions en lecture/écriture (LMD5, Mutations6) Non Non Non Oui Oui

Notes :

1 Les transactions en lecture seule ne sont pas incluses dans les statistiques de transaction ni dans les statistiques de verrouillage. Seules les transactions en lecture-écriture sont incluses dans les statistiques de transaction et les statistiques de verrouillage.

2 Les requêtes exécutées avec l'API PartitionQuery ne sont pas incluses dans les statistiques de requête ni dans les requêtes actives les plus anciennes.

3 Un lot d'instructions LMD apparaît dans les statistiques sur les requêtes sous la forme d'une seule entrée.

4 Les instructions du lot apparaîtront dans les requêtes actives les plus anciennes, et non dans l'ensemble du lot.

5 Les opérations LMD non validées ne sont pas incluses dans les statistiques sur les transactions.

6 Les mutations vides qui sont effectivement no-op ne sont pas incluses dans les statistiques de transaction.

Statistiques sur la taille des tables

Vous pouvez utiliser les statistiques sur les tailles de table pour surveiller les tailles historiques des tables et des index de votre base de données.

Utilisez les statistiques sur la taille des tables pour identifier les tendances dans les tailles de vos tables, de vos index et de vos tables de flux de modifications. Vous pouvez aussi garder une trace de vos tables et index les plus volumineux.

Veuillez noter que cette fonctionnalité ne fournit qu'une perspective historique. Il ne s'agit pas d'une surveillance en temps réel.

Statistiques des opérations de la table

Vous pouvez utiliser les statistiques des opérations de table pour effectuer les opérations suivantes:

  • Surveillez les utilisations des tables et des index de votre base de données.
  • Identifiez les tendances d'utilisation de vos tables et index.
  • Identifiez les variations du trafic.

Vous pouvez également corréler les modifications apportées au stockage de vos tables avec les modifications de votre trafic en écriture.